需求是这样子的: 访问/service--env/xxx,能够反代到env.coder4.com/service/xxx上 其实location和proxy_pass是能够支持正则的,只是有一个很诡异的限制条件:proxy_pass中不能含有/,这个没搞懂原因。 最终的实现如下: location ~ ^/service--(.*)/(.*)$ { resolver 127.0.0.53; set $venv $1; set $new_uri /service/$2; proxy_pass http://$1.coder4.com$new_uri; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }