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/;
}
}