swagger中,发现使用的SSL证书之后,nginx总是跳转的地址不对,后发现需要增加如下两句代码才正常:
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port;
而如果是iis的话,添加如下:
<appSettings> <add key="aspnet:UseHostHeaderForRequestUrl" value="true"/> </appSettings>
完整nginx配置如下:
server { listen 443; server_name www.52jiagou.com; add_header Content-Security-Policy upgrade-insecure-requests; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; ssl on; ssl_certificate /cert/www.52jiagou.com/www.52jiagou.com.pem; ssl_certificate_key /cert/www.52jiagou.com/www.52jiagou.com.key; ssl_session_timeout 5m; ssl_protocols TLSV1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; proxy_pass http://127.0.0.1:1234/; } location /api/Admin/Delivery/ { proxy_pass http://127.0.0.1/api/Admin/Delivery/; } }