我有2个Nginx服务器server1和server2.
server1需要客户端ssl验证.
server2代理对server1的所有请求
问题是当我试图直接从server1访问我的服务时,浏览器询问我的客户端证书,它工作正常
但是从servier2它总是给出错误“400 Bad Request.没有发送所需的SSL证书”
server1 nginx配置是
server {
listen 443;
server_name server1 ;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_client_certificate /etc/nginx/client_keys/keys.crt;
ssl_verify_client on;
ssl_verify_depth 1;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass https://some-service;
}
}
server2 nginx配置是
server {
listen 443 default_server;
server_name server2;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_client_certificate /etc/nginx/client_keys/keys.crt;
location / {
proxy_pass https://server1;
}
}
最佳答案
目前,nginx不支持.但是有senginx [1],它的代理模块被扩展为支持与源服务器的客户端证书握手.
[1] http://www.senginx.org/en/index.php/Proxy_HTTPS_Client_Certificate
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。