nginx没有证书 代理https,配置文件怎么写
时间: 2023-11-08 18:28:11 浏览: 170
nginx无证书情况用stream模块反向代理https网站 nginx-1.15.10 windows编译版
有两种方法可以在Nginx上配置https代理,一种是使用自签名证书,另一种是使用公共CA颁发的证书。
使用自签名证书:
1. 首先,生成一个自签名证书:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt
2. 在Nginx配置文件中添加以下代码段:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
location / {
proxy_pass https://backend-server.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
使用公共CA颁发的证书:
1. 让CA颁发证书,或者可以在Let's Encrypt上免费获得证书。
2. 配置Nginx文件,例如:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass https://backend-server.com;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
注意:在达成完全范围内的情况下,您必须确保您的证书配置正确,并且您必须为正确设置的SSL颁发机构支付相应的费用。
阅读全文