首页 > 解决方案 > Nginx ProxyPassReverse 设置

问题描述

我的任务是将 jitsi 服务器与我现有的域连接起来。jitsi 服务器应该在子路径中运行,例如https://dev.example.com/video.

我已经用 hostname 在 aws 中安装了 jitsi https://dev.example.com

为此,我必须设置一个 nginx 块,该块将/video在向 jitsi 服务器发送请求并添加/video响应时删除。

计划是在我的 nginx 中添加一个上游,如下所示。

upstream jitsi {
    server 10.10.10.20:443;
}

location /video/ {
  rewrite ^/video/(.*) /$1  break; 
  proxy_pass https://jitsi/$uri$is_args$args; 
  proxy_set_header X-Forwarded-Host $host:$server_port;
  proxy_set_header X-Forwarded-Server $host;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_redirect https://dev.example.com/ https://dev.example.com/video/;
}

重写将删除,/video其余的应该将其添加到响应中。但是在加载页面时,浏览器对某些内部链接显示 404。

例如:

https://dev.example.com/libs/do_external_connect.min.js?v=1
[HTTP/1.1 404 Not Found 124ms]

https://dev.example.com/libs/lib-jitsi-meet.min.js?v=4466
[HTTP/1.1 404 Not Found 123ms]

https://dev.example.com/libs/app.bundle.min.js?v=4466
[HTTP/1.1 404 Not Found 123ms]

https://dev.example.com/static/pwa/registrator.js

我可以清楚地看到应该添加到 URL 中的最后一部分/video工作不正常。

我在这里做错了什么?

提前致谢

标签: nginxreverse-proxynginx-reverse-proxyproxypass

解决方案


推荐阅读