Nginx代理https并自制证书

生成自签名证书

1. 生成私钥

生成一个新的私钥:

复制代码

openssl genrsa -out /path/to/your/localhost.key 2048

2. 创建证书签名请求 (CSR)

使用刚生成的私钥创建一个证书签名请求 (CSR),并指定 IP 地址作为 CN(Common Name):

openssl req -new -key /path/to/your/localhost.key -out /path/to/your/localhost.csr -subj "/CN=200.116.20.1"

3. 创建一个配置文件用于生成自签名证书

创建一个名为 openssl.cnf 的配置文件,内容如下:

[ req ]

distinguished_name = req_distinguished_name

x509_extensions = v3_req

prompt = no

[ req_distinguished_name ]

CN = 200.116.20.1

[ v3_req ]

subjectAltName = @alt_names

[ alt_names ]

IP.1 = 200.116.20.1

将此文件保存到一个方便的位置,例如 /path/to/your/openssl.cnf

4. 生成自签名证书

使用配置文件和私钥生成自签名证书:

openssl x509 -req -in /path/to/your/localhost.csr -signkey /path/to/your/localhost.key -out /path/to/your/localhost.crt -days 365 -extfile /path/to/your/openssl.cnf -extensions v3_req

验证证书

你可以使用 openssl 查看生成的证书信息,确保包含正确的 IP 地址:

openssl x509 -in /path/to/your/localhost.crt -text -noout

你应该在输出中看到 Subject 字段包含 

CN=200.116.20.1,以及 

X509v3 Subject Alternative Name 字段

包含 IP Address:200.116.20.1

配置 Nginx

接下来,配置 Nginx 使用生成的自签名证书和私钥。

1. 编辑 Nginx 配置文件

将以下配置添加到你的 Nginx 配置文件中:

server {

        listen 443 ssl;

        server_name 200.116.20.1;

        ssl_certificate /path/to/your/localhost.crt;         ssl_certificate_key /path/to/your/localhost.key;         ssl_protocols TLSv1.2 TLSv1.3;

        ssl_ciphers HIGH:!aNULL:!MD5;

        location / {

        proxy_pass https://target.example.com;

        proxy_ssl_verify off; # 如果目标服务器使用自签名证书,可以关闭验证         proxy_set_header Host $host;

        proxy_set_header X-Real-IP $remote_addr;

        proxy_set_header X-Forwarded-For$proxy_add_x_forwarded_for;         proxy_set_header X-Forwarded-Proto $scheme;

        }

}

确保将路径 /path/to/your/localhost.crt 和 /path/to/your/localhost.key 替换为实际的文件路径。

2. 重启 Nginx

保存配置文件并重启 Nginx:

sudo systemctl restart nginx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值