使用Nginx反向代理运行Apache OpenMeetings?

5
我正在尝试安装Apache OpenMeetings。然而,我想使用Nginx作为反向代理,在端口443上运行应用程序并使用Let's Encrypt免费SSL证书。
如果我尝试在端口5080上加载应用程序,则可以成功获取接口,但是当尝试使用域名在端口443 HTTPS上时,它无法加载资源。 带有错误的图像。 这是我的nginx虚拟主机文件。
upstream openmeetings {
server 127.0.0.1:5080;
}

server {
    listen 80;
    server_name openmeetings.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443;
    server_name openmeetings.example.com;

    ssl_certificate           /etc/letsencrypt/live/openmeetings.example.com/fullchain.pem;
    ssl_certificate_key       /etc/letsencrypt/live/openmeetings.example.com/privkey.pem;

    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    access_log  /var/log/nginx/openmeetings.access.log;

location / {
        proxy_pass http://openmeetings;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
        proxy_redirect off;
    }
  }

你是真的写了 proxy_pass http://openmeetings; 这行代码,还是你只是想隐藏本地域名? - Dima Chubarov
我只想在https://openmeetings.mydomain.com上运行此应用程序,而不是在http://openmeetings.mydomain.com:5080上运行。我尝试了这个配置,但它没有起作用。我猜测是一些WebSocket问题。如果您可以帮助进行Nginx配置,我将不胜感激。 - Campo Popo
这是什么版本的OpenMeetings?5吗? - Psychozoic
2个回答

0

同时需要参考使用Nginx管理Tomcat 7的SSL来重写server.xml文件。

<Valve className="org.apache.catalina.valves.RemoteIpValve"
           remoteIpHeader="x-forwarded-for"
           remoteIpProxiesHeader="x-forwarded-by"
           protocolHeader="x-forwarded-proto"
    />

0

我遇到了同样的问题(使用Openmeetings 5.0.0-M4版本)。

我找到了解决方法:

Openmeetings使用WebSocket上的ajax。

需要添加以下内容:

map $http_upgrade $connection_upgrade {
    default upgrade;
    ''      close;
}

转到 HTTP 部分

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

到位置

它解决了状态400的问题

然后我遇到了内容安全策略的问题

我觉得connect-src策略在第一次连接服务器时会自动配置。 所以在更改使用的域名后,我需要重新启动Openmeetings。

媒体流播放问题

在检查设置录制时,会产生长时间的浏览器控制台消息,最后以以下内容结束:

onaddstream已弃用!请改用peerConnection.ontrack。

...

接收到远程ICE候选项

看起来它与Linux上旧版Firefox 54.0不兼容

在Windows上最新的Firefox 75.0上可以工作!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接