Reverse Proxy with Nginx


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



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?


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_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.



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.