我有一个使用 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
。 但是我需要端口8080
,为什么 nginx 会忽略 proxy_pass 中的端口?
答案1
您可以修改监听端口 80 的服务器块的 listen 指令,使其也包含端口号:
listen 80 default_server;
这将使 Nginx 监听端口 80 并将流量路由到 http://localhost:8080/swagger/,同时保留 URL 中的端口号。