Linux上设置nginx支持https
1、前提条件
如果系统没有自带openssl,则需要安装。
2、生成证书
# 1、首先,进入你想创建证书和私钥的目录,例如: cd /etc/nginx/ # 2、创建服务器私钥,命令会让你输入一个口令: openssl genrsa -des3 -out server.key 1024 # 3、创建签名请求的证书(CSR): openssl req -new -key server.key -out server.csr # 4、在加载SSL支持的Nginx并使用上述私钥时除去必须的口令: cp server.key server.key.org openssl rsa -in server.key.org -out server.key # 5、最后标记证书使用上述私钥和CSR: openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
3、配置nginx配置文件支持ssl
下面黑色加粗部分为ssl的配置
server { listen 443; 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 =404; } 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; }