我正在尝试使用nginx proxy_pass为我反向代理Web应用程序。非正式地,我正在尝试执行以下操作:
http://localhost/abc/$1 --> http://localhost:8080/$1
除了$1
为空的特殊情况外,在这种情况下,我想:
http://localhost/abc --> http://localhost:8080/def
我注意到我可以这样做:
server {
listen 80;
location /abc/ {
proxy_pass http://localhost:8080/;
}
}
,后者与此:
server {
listen 80;
location /abc/ {
proxy_pass http://localhost:8080/def;
}
}
但是我似乎无法将它们结合起来做我想做的事。
答案 0 :(得分:0)
看起来我可以使用一个额外的位置块来做到这一点:
server {
listen 80;
location = /abc/ {
return 302 /abc/def;
}
location /abc/ {
proxy_pass http://localhost:8080/;
}
}