来自请求的 Nginx 反向代理目标 url
Nginx reverse proxy destination from request url
我在配置 Nginx 时遇到问题:
- 具有来自请求的目标服务器的反向代理 url
- 端口可以是默认端口 (80),但如果这也可以来自请求 url 那就太好了
- 我想调用的行为 http://nginxserver/destinationserver 然后
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 反向代理。
我在配置 Nginx 时遇到问题:
- 具有来自请求的目标服务器的反向代理 url
- 端口可以是默认端口 (80),但如果这也可以来自请求 url 那就太好了
- 我想调用的行为 http://nginxserver/destinationserver 然后
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 反向代理。