首先,可以下nginx的部署路径下创建一个ssl路径,安装请详见文章:
https://blog.csdn.net/m0_46759451/article/details/137601996?spm=1001.2014.3001.5501
示例:/data/nginx-1.25.4/conf/ssl
然后 cd /data/nginx-1.25.4/conf/ssl进入该路径
一、openssl genrsa -des3 -out server.key 1024 ,此时会让输入一个密码,可随便定义,然后记住
二、openssl req -new -key server.key -out server.csr ,会弹出很多的输入项,请见示例
Enter pass phrase for root.key: # 输入前面创建的密码
Country Name (2 letter code) [AU]: # 国家代号,中国输入CN
State or Province Name (full name) [Some-State]: # 省的全名,拼音 xizang
Locality Name (eg, city) []: # 市的全名,拼音 lasa
Organization Name (eg, company) [Internet Widgits Pty Ltd]: # 公司英文名 csdn
Organizational Unit Name (eg, section) []: # 不输入
Common Name (eg, YOUR name) []: # 不输入
Email Address []: # 电子邮箱,可随意填 123456789@139.com
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []: # 不输入
An optional company name []: # 不输入
三、备份服务器密钥文件:cp server.key server.key.org
四、去除文件口令:openssl rsa -in server.key.org -out server.key
五、生成证书文件server.crt:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
六、使用证书配置文件示例
监听示例请详见文章:https://blog.csdn.net/m0_46759451/article/details/138129331?spm=1001.2014.3001.5501
server {
# 这种写法只开启8328的https访问
listen 8328 ssl;
server_name 192.168.110.3;
ssl_certificate /data/nginx-1.25.4/conf/ssl/server.crt; # 指向SSL证书和私钥文件,这是必须的以启用HTTPS
ssl_certificate_key /data/nginx-1.25.4/conf/ssl/server.key; # 指向SSL证书和私钥文件,这是必须的以启用HTTPS
client_max_body_size 50M;
location / {
proxy_pass https://portal;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 120s;
proxy_send_timeout 120s;
proxy_read_timeout 120s;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
以上是nginx开启ssl验证使用https的方法