nginx:在两个不同的路径上配置两个内部站点

时间:2016-06-10 15:35:37

标签: nginx

这是我的情景:

在公共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吗?

1 个答案:

答案 0 :(得分:0)

您的应用程序必须知道它分别位于“/ web1”或“/ web2”下,或者确保发出的每个URI都是相对的,并且永远不会以“/”开头