我正在尝试设置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进行存档?
2 回答
Nginx位置按照定义的顺序匹配 .
location /
基本上是一个通配符位置,因此它将匹配所有内容,并且任何内容都不会到达第二个位置 . 颠倒两个定义的顺序,它应该工作 . 但实际上,现在我更仔细地看一下,我认为两个位置基本上都在做同样的事情:回复非常晚 . 这可能对某人有帮助
每个位置都用空格隔开 .