使用.Net Core + NGINX部署到伺服器的時候,如果埠不是使用預設的80埠,在跳轉到登入頁面時,URL中的埠丟失。
NGINX的配置如下:
server { listen 8888; location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
其實這並不是ASP.Net Core的問題,而是NGINX在返回跳轉(302/301)時,沒有把埠加入到“Location”中,所以只需要修改proxy_set_header
,帶上埠就可以了。
proxy_set_header Host $host:$server_port;
最後重啟NGINX生效設定:
systemctl restart nginx