Nginx代理服务器覆盖URL

时间:2019-08-02 19:27:30

标签: nginx raspberry-pi nginx-location nginx-reverse-proxy

我正在运行带有piVCCU(https://github.com/alexreinert/piVCCU/)的RaspberryPi,用于家庭自动化,而Homebridge(https://homebridge.io)用于Apple的Homekit集成。

我现在正在尝试添加仅以NGINX反向代理作为单点联系运行的第二台服务器(例如第二台RaspberryPI)。

当位置设置为根时,反向代理正在工作:

location / {
    proxy_pass                  http://10.0.0.28/; 
}

每当我尝试将位置路径更改为与根目录不同的内容时,例如/ homebridge(请参见下文),该URL将被代理服务器覆盖。

例如: piVCCU可通过URL本地访问

http://10.0.0.28/pages/index.html?sid= ...

通过反向代理访问服务器(具有以下配置)

http://nginx-server-ip/homebridge

预期结果将是: http://nginx-server-ip/homebridge/pages/index.html?sid= ...

代理服务器会覆盖URL并切出“ / homebridge”。

我已经尝试了不同类型的重写规则,proxy_redirection和标头设置,但没有成功。

server {
  listen 80;

  location /homebridge {
    proxy_pass                  http://10.0.0.28/; 
    proxy_set_header            Host $host;
    proxy_set_header            Upgrade $http_upgrade;
    proxy_set_header            Connection "Upgrade";
    proxy_set_header            X-Real-IP $remote_addr;
    proxy_set_header            X-Forward-For $proxy_add_x_forwarded_for;
  }
}

可以肯定,我想念一些非常重要的东西...任何建议将不胜感激:)

预先感谢大家!

0 个答案:

没有答案