Linux上设置nginx支持https

时间:2023-03-09 05:56:32
Linux上设置nginx支持https

1、前提条件

如果系统没有自带openssl,则需要安装。

2、生成证书

# 、首先,进入你想创建证书和私钥的目录,例如:
cd /etc/nginx/ # 、创建服务器私钥,命令会让你输入一个口令:
openssl genrsa -des3 -out server.key # 、创建签名请求的证书(CSR):
openssl req -new -key server.key -out server.csr # 、在加载SSL支持的Nginx并使用上述私钥时除去必须的口令:
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key # 、最后标记证书使用上述私钥和CSR:
openssl x509 -req -days -in server.csr -signkey server.key -out server.crt

3、配置nginx配置文件支持ssl

下面黑色加粗部分为ssl的配置

server {
listen ; ssl on;
ssl_certificate
/etc/nginx/server.crt;
ssl_certificate_key /etc/nginx/
server.key;
ssl_session_timeout 5m;
location / {
alias /usr/share/nginx/html;
#proxy_pass http://10.111.131.19:3000;
#try_files $uri $uri/ /index.html =;
} location /auth
{
proxy_pass http://172.16.60.5:8081/auth;
#proxy_pass http://172.16.80.85:80/auth;
#proxy_pass http://172.16.101.67:8081/auth;
#proxy_pass http://10.111.131.84:8080/auth;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Proto "https";
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
}