NGINX 动态端口 proxy_pass

fyr*_*roc 7 nginx proxypass

我需要一种proxy_pass通过位置的 URL 访问动态端口的方法。代理具有相同的 IP,但端口发生变化,因为服务器是通过 docker 在随机端口号上创建的。(太多我手动添加)

我需要一种proxy_pass动态访问这些 URL 和端口的方法。我在想我可以通过 URL 变量传递端口号吗?

例子:

location /$someport/servername/hls/ {
    proxy_buffers 16 4k;
    proxy_buffer_size 2k;
    proxy_pass http://216.189.210.65:$someport;
}
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

小智 0

不确定 Nginx 是否会拉取你的 shell 变量。

如果它在同一台服务器上运行,您仍然可以通过使用新的端口号(cat、grep、sed 等)注入服务器块,然后使用新文件重新启动或重新加载 nginx 来完成此操作。

通过 bash 绝对可以实现。