我有一個使用 Swagger 的應用程式localhost:8080/swagger/
。
localhost:80
我需要從實際的 swagger url重定向localhost:8080/swagger/
,因此我設定了一個 Nginx 反向代理:
server {
listen 80;
server_name=_;
location / {
proxy_pass http://localhost:8080/swagger/;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
因此,當我輸入時,localhost:80
我收到 301 代碼並重定向到localhost:80/swagger/index.html
.但我需要 port 8080
,為什麼 nginx 忽略 proxy_pass 中的 port ?
答案1
您可以修改監聽連接埠 80 的伺服器區塊的監聽指令,以包含連接埠號碼:
listen 80 default_server;
這將使 Nginx 偵聽連接埠 80 並將流量路由至 http://localhost:8080/swagger/,同時保留 URL 中的連接埠號碼。