Reverse Proxy with Nginx

Hi,

i would like to use reverse proxy (Nginx) in front of KNIME server. do you have any such configuration to support ?

Thanks,

Rajesh

Not for nginx. But for Apache the following works. Maybe you can translate it to nginx:

 
        ServerName knime-server-public
        RequestHeader set X-Forwarded-Proto "https"

        ProxyPreserveHost on
        ProxyRequests Off
        ProxyPass /tomee/ejb  http://internal-address:8080/tomee/ejb keepalive=On nocanon
        ProxyPass /knime http://internal-address:8080/knime
 

Thanks Thor,

Is there any other configuration chagnes to be done on Tomee side? or just reverse proxy should take care of the https?

Rajesh

No changes are required in Tomcat.

Hi Thor, here is my nginx.conf

server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/ssl/ngnix_xx.crt;
ssl_certificate_key /etc/ssl/nginx_domain.key;
location / {
proxy_pass http://127.0.0.1:8080/knime;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}

From the browser, if i type: https://localhost, it redirects to knime/login page which is not https enabled? my prupose is expose the knime server securely to outside world via reverse proxy.

thanks,

Rajesh

Are you using version 4.4.1? If not then upgrade to this version as the X-Forwarded-Proto isn't evaluated in previous versions. Although this shouldn't affect the WebPortal login page.

I'm using knime 4.3.3.