Nginx代理通过基于url的部分到端口

时间:2016-02-16 19:19:20

标签: nginx proxy

是否可以设置nginx以反向代理server.com/[port]/rest/of/url到server.com:[port]/rest/of/url? 例如, server.com/12345/files应该代理server.com:12345/files。端口是随机的,可能有100个这样的端口。

我在Linux VM中有docker容器,它绑定到主机上的随机端口并提供HTTP服务。我试图在一个端口上为它们设置代理。

1 个答案:

答案 0 :(得分:1)

这样的事情可以解决问题:

server {
    listen 80;

    location ~ ^/(?<port>\d+)/ {
        rewrite ^/\d+(/.*) $1 break;
        proxy_pass http://127.0.0.1:$port;
    }
}

有关详细信息,请参阅以下链接: