Thanks Sam and Fabien for sharing the snippets. Fabien's solution didn't 
worked, but Sam's solution got me success.


location /zeppelin/ {
proxy_pass http://10.0.1.1:8080/;
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;
}

location /zeppelin/ws {
proxy_pass http://10.0.1.1:8080/ws;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $proxy_protocol_addr;
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
proxy_read_timeout 5s;
proxy_connect_timeout 5s;
proxy_redirect off;
}



One more thing worth while noting is - if I pass public IP address of Zeppelin, 
it fails; but if private IP is passed, it works. This is specifically observed 
on Azure VM and AWS EC2 instances.


Sanket Tarun Shah - Enterprise Architect
+91 98793 56075 |  sanket.s...@outlook.com<http://outlook.com>
(LinkedIn<http://www.linkedin.com/in/sankettshah>)
________________________________
From: Sam Nicholson <sam...@ogt11.com>
Sent: 05 June 2018 04:53 AM
To: users@zeppelin.apache.org
Subject: Re: Difficult paths for Zeppelin and Nginx integration


Here's the zeppelin from my currently, working, config
I have changed my DNS domains to "internal" and "external"
Other than that, it's really verbatim.

    server {
        listen 443 ssl http2;
        server_name  zeppelin.external;
        ssl_certificate /etc/certs/fullchain.cer;
        ssl_certificate_key /etc/certs/cert.key;
        location / {
            proxy_pass       http://zeppelin.internal:6800;
            proxy_set_header Host            $host;
            proxy_set_header X-Real-IP       $proxy_protocol_addr;
            proxy_set_header X-Forwarded-For $proxy_protocol_addr;
        }
        location /ws {
            proxy_pass       http://zeppelin.internal:6800;
            proxy_set_header Host            $host;
            proxy_set_header X-Real-IP       $proxy_protocol_addr;
            proxy_set_header X-Forwarded-For $proxy_protocol_addr;
            proxy_http_version 1.1;
            proxy_set_header Upgrade websocket;
            proxy_set_header Connection upgrade;
            proxy_read_timeout 86400;
        }
    }


On Mon, Jun 4, 2018 at 12:58 PM, Sanket Shah 
<sanket.s...@outlook.com<mailto:sanket.s...@outlook.com>> wrote:
Am trying to put Nginx in front of Zeppelin. Regular requests are passing 
through, but Websockets are not working. Followed this based on guide of 
Zeppelin - https://zeppelin.apache.org/docs/0.7.3/security/authentication.html. 
Seems having a real tough luck to get this going as scratching head and pulling 
hairs 😞
Apache Zeppelin 0.7.3 Documentation: Authentication for 
NGINX<https://zeppelin.apache.org/docs/0.7.3/security/authentication.html>
There are multiple ways to enable authentication in Apache Zeppelin. This page 
describes HTTP basic auth using NGINX.
zeppelin.apache.org<http://zeppelin.apache.org>



Below is excerpt of my configuration:

location /zeppelin/ {
    proxy_pass http://104.211.216.218:8080/<http://104.211.216.218:8080/>;
    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;
}

location /zeppelin/ws {
    proxy_pass http://104.211.216.218:8080/ws<http://104.211.216.218:8080/ws>;
    proxy_http_version 1.1;
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    proxy_read_timeout 86400;
}




Sanket Tarun Shah - Enterprise Architect
+91 98793 56075 |  sanket.s...@outlook.com<http://outlook.com>
(LinkedIn<http://www.linkedin.com/in/sankettshah>)

Reply via email to