首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nginx -反向代理证书认证

nginx -反向代理证书认证
EN

Server Fault用户
提问于 2017-01-30 11:21:33
回答 1查看 7.7K关注 0票数 2

我试图使用nginx作为运行Tomcat的内部use服务器的反向代理,Tomcat是我们ERP系统的前端。

它已经很好地工作了:我可以完美地连接到nginx服务器(它被锁在我们的网络、不同的VLAN、防火墙等),然后反向代理到我的ERP服务器。

但是,我希望增加一个额外的保护层,要求用户在他们的计算机上拥有一个数字证书,这样他们就可以访问第一个(nginx)服务器。对后端服务器不使用/不需要证书.

我已经通过了本教程http://nategood.com/client-side-certificate-authentication-in-ngi,它允许我生成我的自我签名证书和其他一切。

当在nginx配置上使用ssl_verify_client可选时,我可以正常地连接到后端服务器,但不需要任何证书。

当我将其切换到ssl_verify_client打开时,所有访问都会被

代码语言:javascript
复制
400 Bad Request

No required SSL certificate was sent

无论我使用哪个浏览器(Chrome,IE,Edge,Firefox)。当然,我已经将所有证书/链都放在了我的客户端计算机上,但是在任何浏览器上都不需要证书。我错过了什么?

下面是我的完整nginx配置:

代码语言:javascript
复制
server {
        listen 443;
        ssl on;
        server_name 103vportal;

        ssl_password_file /etc/nginx/certs/senha.txt;
        ssl_certificate      /etc/nginx/certs/server.crt;
        ssl_certificate_key  /etc/nginx/certs/server.key;
        ssl_client_certificate /etc/nginx/certs/ca.crt;
        ssl_verify_client on;


        location / {
                proxy_pass http://10.3.0.244:16030;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";

                proxy_read_timeout 300;
                proxy_send_timeout 300;
        }

}
EN

回答 1

Server Fault用户

回答已采纳

发布于 2017-02-03 09:22:03

这个答案对我来说是有效的:

https://stackoverflow.com/questions/41933654/nginx-reverse-proxy-certificate-authentication

诀窍是创建一个个人证书(通过提供的命令),并在证书下使用主机名/DNS组合。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/829391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档