NGINX 反向代理到 IP Power Swith

NGINX 反向代理到 IP Power Swith

我有以下设置:

  • NGINX 设置为 Raspberry Pi 上的反向代理(其唯一用途)
  • -反向代理非常适合 LAN 上的其他 IP 以及单个 Windows 桌面上的多个服务端口

我遇到一个问题,就是只有 1 个 LAN 设备无法访问反向代理。这是一个远程 IP 电源开关 (3GStore)

IP 电源开关内的 DNS 主机条目是“Outlet”,因此在 LAN 内导航到会http://Outlet调出界面,如果您输入 IP 并按 Enter,则会加载相同的页面,并且地址栏会填充本地 IP 地址 192.168.0.xxx/index.asp

我觉得问题可能出在 IP 电源开关的端口上,因为它也在 80 端口上,所以我把它改成了 9080

这是我在 NGINX 中创建的配置文件中的块(它似乎对我的其他反向代理设备/服务有效,但对这个 IP 电源开关无效)

server {
    listen 80;
    server_name mydomaincom;
    location /powerswitch/ {
        proxy_pass http://192.168.0.xxx:9080/;
        include /etc/nginx/proxy_params;
    }
}

导航至mydomaincom/powerswitch结果 NGINX 404 Not Found 错误

任何建议将不胜感激!

答案1

您的配置有两个错误:

  1. 您的 IP 电源交换机的站点正在重定向,因此无法从外部访问。

  2. 您正在将请求转发到设备的错误位置。

尝试这个配置:

server {
  listen 80;
  server_name my.domain.com;
  location /powerswitch/ {
    rewrite /powerswitch(/.*) $1 break;
    proxy_redirect / /powerswitch/;
    proxy_pass http://192.168.0.xxx;
  }
}

我已编辑rewriteproxy_pass并添加proxy_redirect

答案2

是的,导航到本地 IP 地址和端口有效...重定向到http://192.168.0.xxx/index.asp

我已将端口从 9080 切换回 80

经过进一步的反复试验,我终于用这个条目让它工作了(“一半”):

server {
     listen 80;
     server_name my.domain.com;
     location /powerswitch/ {
         rewrite /powerswitch/(.*) /$1 break;
         proxy_pass http://192.168.0.xxx/powerswitch/;
         }
}

因此现在my.domain.com/powerswitch在 LAN 上本地加载 IP 电源开关的接口...但是,从外部拉起my.domain.com/powerswitch页面的状态不起作用(在地址栏中显示本地 IP:192.168.0.xxx/index.asp;在手机蜂窝/wifi 关闭的情况下进行测试)

相关内容