Milestone XProtect Behind NGINX Proxy

shimabuku

n3wb
Joined
Oct 23, 2017
Messages
6
Reaction score
1
Has anyone gotten nginx reverse proxy to work with Milestone XProtect? I downloaded the Essentials+ but I'm struggling to get this to work.

Basically I have xprotect.example.com > Sophos Firewall > NGINX Reverse Proxy 443 > Milestone XProtect port 8081

The web client displays the html code when browsing to https://xprotect.example.com and the mobile client does not work.

Below is my server block. Any help would be greatly appreciated. Thanks!

Code:
  server {
       listen 443 ssl;

       root /config/www;
       index index.html index.htm index.php;

       server_name xprotect.*;

       ssl_certificate /config/keys/letsencrypt/fullchain.pem;
       ssl_certificate_key /config/keys/letsencrypt/privkey.pem;
       ssl_dhparam /config/nginx/dhparams.pem;
       ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
       ssl_prefer_server_ciphers on;

       client_max_body_size 0;

       location / {
               proxy_pass http://10.0.106.6:8081;
               proxy_http_version 1.1;
               proxy_set_header Upgrade $http_upgrade;
               proxy_set_header Connection "upgrade";
               proxy_set_header Host $http_host;
               proxy_set_header X-Forwarded-Proto http;
               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
               proxy_set_header X-Forwarded-Port $server_port;
               proxy_set_header X-Request-Start $msec;
               proxy_set_header X-Real-IP $remote_addr;
               proxy_set_header X-Nginx-Proxy true;
               proxy_redirect off;
       }
}
 

PancakeBimmer

Young grasshopper
Joined
Jun 9, 2015
Messages
64
Reaction score
7
I think it uses websocket and that must be made available through nginx as well. I set it up a year ago for testing and couldn't get it to work properly until websocket was also setup
 
Top