这是我的情景:
在公共IP(htps://www.example.com)上暴露的443端口上具有nginx侦听器的Linux机器和在端口3456和6789内部端口上的两个本地网络Web服务器上的两个ssh端口转发。我想使用nginx在路径htps://www.example.com/web1/上公开第一个本地网络服务器,然后在htps://www.example.com/web2/上公开第二个。
这是我的nginx配置文件:
server {
listen 443 ssl;
server_name www.example.com;
ssl on;
location /web1/ {
proxy_pass http://127:0.0.1:3456/;
}
location /web2/ {
proxy_pass http://127:0.0.1:6789/;
}}
如果我在浏览器中尝试htps://www.example.com/web1/,第一个请求没问题,但在下一个内部重定向请求中,浏览器指向htps://www.example.com/。 (404因为位置/ {...}不存在)。 web2也一样。 第一个$ uri_request包含/ web1 /但其他下一个没有,并且不匹配正确的位置。 有一种方法可以在下一个uri请求中保留/ web1 /和/ web2 / path吗?
答案 0 :(得分:0)
您的应用程序必须知道它分别位于“/ web1”或“/ web2”下,或者确保发出的每个URI都是相对的,并且永远不会以“/”开头