Campo Popo
Campo Popo

Reputation: 51

Running Apache OpenMeetings with Nginx Reverse Proxy?

I am trying to install Apache OpenMeetings. I however wants to use Nginx as the reverse proxy to run the application on port 443 using Let's Encrypt free SSL.

If I try to load the application on port 5080, I successfully get the interface, but when try using the domain name on port 443 HTTPS, It is not loading the resources.

Image with Errors.

Here's my nginx virtual host file.

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;
    }
  }

Upvotes: 5

Views: 2106

Answers (2)

makoyuki
makoyuki

Reputation: 1

It is also necessary to rewrite server.xml referring to

nginx managed SSL with Tomcat 7

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

Upvotes: 0

mmv-ru
mmv-ru

Reputation: 229

I faced same problem. (vit Openmeetings 5.0.0-M4) I found next:

Openmeetings use ajax over WebSocket.

adding

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

to http section

and

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

to location

It solve status 400 problem

Then I meet problem with Content Security Policy

I feel like connect-src policy configured automatic on first connect to server. So after change used domain I need restart Openmeetings.

Problem with media stream play

On Check setup recording produce long browser console message ending with

onaddstream is deprecated! Use peerConnection.ontrack instead.

...

Remote ICE candidate received

Look like it incompatibility with old Firefox 54.0 on Linux

On latest Firefox 75.0 on Windows it works!

Upvotes: 0

Related Questions