我正在尝试设置nginx位置,该位置将处理各种路径并将其代理到我的webapp。
这是我的conf:
server { listen 80; server_name www.example.org; #this works fine location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8081/myApp/; } #not working location ~ ^/(.+)$ { proxy_pass http://localhost:8081/myApp/$1; } }
我想通过各种路径访问myApp,例如:/ myApp / ABC,/ myApp / DEF,myApp / GEH或/ myApp / ZZZ。 当然,这些路径在myApp中不可用。我希望他们指向myApp的root并保留url。 是否可以使用nginx进行存档?
答案 0 :(得分:0)
Nginx位置按照定义顺序匹配。 location /
基本上是一个通配符位置,因此它将匹配所有内容,并且任何内容都不会到达第二个位置。颠倒两个定义的顺序,它应该工作。但实际上,现在我更仔细地看一下,我认为这两个地方基本上都在做同样的事情:
/whatever/path/ ->>proxies-to->> http://localhost:8081/myApp/whatever/path/
答案 1 :(得分:0)
回复非常晚。这可能有助于某人
try proxy_pass /myApp/ /location1 /location2;
每个位置都以空格分隔。