我有以下设置:
- 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
您的配置有两个错误:
您的 IP 电源交换机的站点正在重定向,因此无法从外部访问。
您正在将请求转发到设备的错误位置。
尝试这个配置:
server {
listen 80;
server_name my.domain.com;
location /powerswitch/ {
rewrite /powerswitch(/.*) $1 break;
proxy_redirect / /powerswitch/;
proxy_pass http://192.168.0.xxx;
}
}
我已编辑rewrite
、proxy_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 关闭的情况下进行测试)