nginx配置https协议

nginx配置https协议
nginx配置https协议

nginx配置https协议步骤

一、使用openssl生成证书

1.在window下安装openssl

选择合适的版本,现在不带Light名字 ,例如【Win64 OpenSSL v3.0.7】【Win64 OpenSSL v3.0.7 Light】,不选择【Win64 OpenSSL v3.0.7 Light】

  • 配置环境变量
    • 1.在环境变量中增加【OPENSSL_HOME】,比如说安装openssl按照目录为C:\OpenSSL-Win64
    • 2.在path环境变量中增加%OPENSSL_HOME%\bin

2.使用命令生成私钥

1
2
openssl genrsa -des3 -out xxx.key 1024 //xxx 自己取的名字

说明:需要自己输入秘钥密码,后边操作步骤需要

3.创建 csr 证书

1
2
openssl req -new -key xxx.key -out xxx.csr  //xxx自己定义名字
##

这里会让输入第一步的私钥密码,以及其他基本信息

4.删除密码(防止在启动nginx提示输入密码)

1
openssl rsa -in xxx.key -out xxx.key.unsecure

5.生成crt证书

1
openssl x509 -req -days 365 -in xxx.csr -signkey xxx.key -out xxx.crt

二、nginx配置步骤

1.在nginx/config/目录下创建ssl文件夹,并且把xxx.key、xxx.csr、xxx.key.unsecure和xxx.crt复制到 ssl目录下
2.打开nginx/config/nginx.conf,配置如下部分代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server {
listen 443 ssl;
server_name www.xxx.com;
ssl_certificate ssl/xxx.crt; ##指定证书文件
ssl_certificate_key ssl/xxx.key.unsecure; ##指定私钥文件

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header Connection "";
proxy_http_version 1.1;
root html;
index index.html index.htm;
}
}