来自请求的 Nginx 反向代理目标 url

Nginx reverse proxy destination from request url

我在配置 Nginx 时遇到问题:

nginx 将调用目标服务器(取自请求 url 并且位置不固定)

我试过类似的方法,但没有用

location  ~^\/([a-zA-Z0-9]+)\/([0-9]+)\/([a-zA-Z0-9]+) {
proxy_pass http://:/;
}

我需要上述行为,因为我们有一个来自一台服务器的静态 VPN,我可以在其中安装 nginx 和其他一些远程设备。这些设备中的每一个都有一个网络服务器,从默认端口 80 显示设备状态。问题是只有在服务器内部(有 VPN),我们才能访问每个远程设备,所以我正在尝试使用 Nginx 启用反向代理以从服务器外部访问设备。

感谢您的帮助

解法:

这是我找到的解决方案:

location  ~ "/go/([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})(.+)$" {
    proxy_pass http://:80;  
    sub_filter "<head>" "<head><base href=\"${scheme}://${host}/go//\">";     
    sub_filter_once off;    
    sub_filter_types application/json application/x-javascript;     
    sub_filter '"/flash/' '"/go//flash/';     
    sub_filter '"/rom/' '"/go//rom/'; 
}

例如我可以使用下面的 url: http://myproxyserver/go/192.168.0.100/ 我从 192.168.0.100 得到响应并抛出 nginx 反向代理。