SSL TLS with nginx - michaelfdeberry/overseer GitHub Wiki

Several users have reported that when using SSL/TLS with nginx the browser is unable to make a connection to the web socket. To resolve this issue a location needs to be configured for the websocket path.

server {
        listen 9001 default_server;
        ssl_certificate                 /etc/nginx/cert/overseer.cer;
        ssl_certificate_key             /etc/nginx/cert/overseer.key;
        ssl                             on;
        ssl_session_cache               builtin:1000  shared:SSL:10m;
        ssl_protocols                   TLSv1.1  TLSv1.2;
        ssl_ciphers                     ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;
        ssl_prefer_server_ciphers       on;

        access_log                      /var/log/nginx/nginx.log;


        location / {
                proxy_pass              http://localhost:9000;
                proxy_http_version      1.1;
                proxy_cache_bypass      $http_upgrade;
                proxy_set_header        Upgrade $http_upgrade;
                proxy_set_header        Connection keep-alive;
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Proto $scheme;
                proxy_set_header        Host $host;
        }

        location /push {
                proxy_pass              http://localhost:9000/push;
                proxy_http_version      1.1;
                proxy_cache_bypass      $http_upgrade;
                proxy_set_header        Upgrade $http_upgrade;
                proxy_set_header        Connection "upgrade";
                proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header        X-Forwarded-Proto $scheme;
                proxy_set_header        Host $host;
        }
}