nginx 反向代理配置如何写

【字号: 日期:2022-07-02浏览:54作者:雯心

问题描述

我想要的效果:

http://hostname/proxy/3000http://127.0.0.1:3000http://hostname/proxy/3000/anythinghttp://127.0.0.1:3000/anything

有一个要求:端口是变化的

我尝试了

location ~ /proxy/(d+) {proxy_pass http://127.0.0.1:$1;rewrite ^/(.*)$ / break; }

但是rewrite不管怎么写都有问题

在nginx的配置里该怎么写,在线等~

问题解答

回答1:

proxy_pass 的文档里有讲:location 使用了正则后,proxy_pass 指令后面的参数中的 URI 部分会被忽略。可以使用下面的配置间接达到你想要的功能:

server { listen 80; server_name localhost; location /proxy/ {rewrite ^/proxy/(d+)/(.*) /internal?port=$1&url=$2 last; } location /internal {internal;proxy_pass http://127.0.0.1:$arg_port/$arg_url; }}

相关文章: