NGINX:使用客户端证书将 https 反向代理到 tomcat(guacamole)

NGINX:使用客户端证书将 https 反向代理到 tomcat(guacamole)

我有一台安装了 NGINX 和 TOMCAT8 的 Debian Jessie 机器。TOMCAT 正在运行 Guacamole。NGINX 设置为监听端口 443(SSL)并反向代理到 8080 上的本地 TOMCAT。一切正常。当我添加 ssl_client_certificate 指令时,我在浏览器(Safari MacOS 和 iOS)中看到了一个空白页。它在 Firefox 上有效。不过,使用客户端证书,我仍然能够毫无问题地连接到 NGINX 中的其他位置(例如下面的 calibre 位置)。TOMCAT 是开箱即用的。

这是我的 NGINX 配置文件:

server {
    listen 443 ssl;
    server_name domain.eu;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!MD5;

    ssl_certificate /etc/letsencrypt/live/domain.eu/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/domain.eu/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/domain.eu/chain.pem;

    ssl_client_certificate /etc/nginx/certs/ca.pem;
    ssl_verify_client on;

    location /guacamole/ {
            proxy_pass http://127.0.0.1:8080/guacamole/;
            proxy_buffering off;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $http_connection;
            access_log off;
    }

    location /calibre {
            proxy_pass http://192.168.1.z:8080/calibre;
            proxy_set_header Host 192.168.1.z:8080;
            proxy_redirect default;
    }
}

任何帮助都将不胜感激。Laurent

相关内容