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

保罗法国

我在配置 Nginx 时遇到问题:

  • 来自请求 url 的目标服务器的反向代理
  • 端口可能是默认值 (80) 但如果这也可以来自请求 url,那就太好了
  • 我想调用http://nginxserver/destinationserver然后的行为

nginx 会调用destinationserver(取自请求url,位置不固定)

我试过这样的事情,但它不起作用

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

我需要上述行为,因为我们有来自一台服务器的静态 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://$1:80$2;  
    sub_filter "<head>" "<head><base href=\"${scheme}://${host}/go/$1/\">";     
    sub_filter_once off;    
    sub_filter_types application/json application/x-javascript;     
    sub_filter '"/flash/' '"/go/$1/flash/';     
    sub_filter '"/rom/' '"/go/$1/rom/'; 
}

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

nginx 反向代理以不同的方式处理请求 url

来自分类Dev

nginx url重写以实现反向代理

来自分类Dev

来自DB for Nginx反向代理的路由

来自分类Dev

来自 Python 的 URL 请求

来自分类Dev

在Nginx反向代理后面处理烧瓶url_for

来自分类Dev

Nginx反向代理返回不正确的URL

来自分类Dev

使用Nginx容器作为反向代理时的原始URL

来自分类Dev

来自 URL 的简单 JSON 请求

来自分类Dev

用nginx代理相对URL

来自分类Dev

URL查询参数中的Nginx范围请求

来自分类Dev

如何使用NGINX反向代理,以及代理上游URL的端口和路径?

来自分类Dev

春云| 收集来自多个目的地的响应

来自分类Dev

Nginx反向代理设置

来自分类Dev

Nginx反向代理设置

来自分类Dev

反向代理Nginx本身

来自分类Dev

Nginx反向代理设置

来自分类Dev

nginx 内部反向代理

来自分类Dev

Nginx反向代理后面的服务器忽略URL中的相对路径

来自分类Dev

当使用NginX作为反向代理时,如何退回到维护URL?

来自分类Dev

Javascript读取来自url请求的JSON

来自分类Dev

仅接受来自授权 URL 的请求

来自分类Dev

如何限制来自 URL 列表的 GET 请求

来自分类Dev

Nginx反向代理,仅允许来自主机名的连接而不是IP

来自分类Dev

用代理传递示例重写nginx url?

来自分类Dev

Nginx代理重定向而不更改URL

来自分类Dev

Nginx:从URL到子域的动态代理

来自分类Dev

Nginx代理传递给外部URL

来自分类Dev

Nginx代理重定向而不更改URL

来自分类Dev

如何在Nginx中重写或代理URL?