我试图在代理路径的每一层建立TLS。我看到的是Nginx允许上游有一个自签名的证书。有什么办法可以锁住当局时,被接受的交通到上游?
end-user --1--> nginx01 --2--> nginx02 --N--> nginxNnginx01有一个可信的证书,最终用户连接时没有问题.nginx02有一个自签名证书,当我proxy_pass to https://nginx02时,我在最终用户浏览器或nginx01日志中看不到任何抱怨。我希望你会被拒绝。如果我像预期的那样将来自nginx02的nginx01卷起来,我就会得到ssl拒绝。
是否有任何方法强制nginx01验证nginx02证书?
运行nginx1.6.3-8的CentOS 7。
/etc/hosts
10.21.10.99 upstream.example.com
curl https://upstream.example.com
# ssl rejection
curl https://upstream.example.com --cacert ./upstream.example.com.crt
# works fine (200)
# nginx configuration
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/security/full_chain.crt;
ssl_certificate_key /etc/nginx/security/ingress.example.com.key;
server_name ingress.example.com;
location / {
proxy_pass https://upstream.example.com;
}
}发布于 2016-04-08 20:07:20
使用
proxy_ssl_verify on;
proxy_ssl_trusted_certificate /path/to/your_selfsigned_ca_cert.pem有关其他详细信息,请参阅nginx代理文档这里。
发布于 2016-04-08 20:07:42
我只是需要升级以获得一些proxy_ssl指令。验证
https://stackoverflow.com/questions/36507852
复制相似问题