openssl生成自签(Nginx)证书

生成自签证书,提供给Nginx代理,对外使用https访问业务系统。

1、在创建 /opt/ssl 路径;

2、在 /opt/ssl 路径下新建 openssl.cnf 文件,文件内容为:

req

distinguished_name = req_distinguished_name

x509_extensions = v3_req

prompt = no

req_distinguished_name

C = CN

ST = GuangDong

L = GuangZhou

O = Leatop

OU = Pmhub

CN = 172.16.119.22

v3_req

keyUsage = critical, digitalSignature, keyEncipherment

extendedKeyUsage = serverAuth

subjectAltName = @alt_names

alt_names

IP.1 = 172.16.119.22

3、在 /opt/ssl 下执行命令(证书有效期10年为例):

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt -config openssl.cnf -extensions v3_req

此时生成了server.crt、server.key文件。

4、使用Nginx代理:

将生成的server.crt、server.key文件,放到Nginx的conf目录下,并配置Nginx配置文件:

server {

listen 8081 ssl; # ssl新增

server_name localhost_8082;

server_name_in_redirect off;

add_header 'Access-Control-Allow-Credentials' 'true';

add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';

add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';

证书文件路径

ssl_certificate /etc/nginx/conf.d/server.crt; # ssl新增

ssl_certificate_key /etc/nginx/conf.d/server.key; # ssl新增

ssl_session_timeout 10m; # ssl新增

ssl_session_cache shared:SSL:10m; # ssl新增

ssl_protocols TLSv1.2 TLSv1.3; # ssl新增

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # ssl新增

ssl_prefer_server_ciphers on; # ssl新增

其他配置内容省略...

}

相关推荐
沫璃染墨1 小时前
《从零入门Linux系统篇(五十七):线程篇·十——生产者消费者模型进阶:从环形缓冲区到POSIX信号量》
linux·运维·服务器·开发语言·c++·系统架构·信号处理
写后端的胖头鱼1 小时前
【高频面试题】FullText 全文索引(MySQL)
数据库·mysql·索引·全文索引
路远的数据库笔记1 小时前
SQL Server迁移国产数据库怎么做?九套口岸库零停机割接实战
数据库·经验分享·sqlserver·dba
樱花落木兰1 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
HAHAXX82 小时前
电商RPA批量上架通用方案:一套流程如何同时跑通拼多多、抖店、淘宝和跨境平台
java·运维·rpa
kaiyou20262 小时前
用户研究岗秋招,统计分析能力怎么学习和证明?
数据库·python·学习
零基础1232 小时前
LLM Agent 驱动的物模型构建:从设备手册到边缘接入的自动化实践
运维·人工智能·经验分享·python·自动化
mjhcsp2 小时前
DeepSeek V4.1 Flash 批量处理效能实测
java·前端·数据库
ShineWinsu2 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
lie..2 小时前
30天从零开始学AI应用开发(Day 17):ChromaDB 上手:给本地文档建一个“外挂大脑”
数据库·人工智能·oracle