nginx配置https并解决重定向后https协议变成了http的问题(转载)
配置如下:
erver {
listen 80
erver_name localhost
return 301 https://localhost$request_uri; charset UTF-8; location / { root html; # 这个是指定一个项目所在目录 index index.html index.htm; # 这个是指定首页的文件名 }
erver {
listen 80 default backlog=2048
listen 443 ssl
erver_name localhost
ssl_certificate buduhuisi.crt; # 这个是证书的crt文件所在目录 ssl_certificate_key buduhuisi.key; # 这个是证书key文件所在目录 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location /esgcc-oms { proxy_pass http://localhost:8080; proxy_redirect http:// https://; add_header Cache-Control no-store; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { root html; # 这个是指定一个项目所在目录 index index.html index.htm; # 这个是指定首页的文件名 }
roxy_redirect http:// https:// 这个配置是解决重定向后https变成了http 的问题。
应用中配置:
可以解决这个问题:
400 Bad Request: The plain HTTP request was sent to HTTPS port