NGinx上游的SSL握手失败
我正在上游使用自签名证书。上游可以从cURL到达,但不能从NGinX到达。以下是我遵循的过程 我更改了主机文件并添加了带有域名的上游IPNGinx上游的SSL握手失败,ssl,nginx,self-signed,Ssl,Nginx,Self Signed,我正在上游使用自签名证书。上游可以从cURL到达,但不能从NGinX到达。以下是我遵循的过程 我更改了主机文件并添加了带有域名的上游IP 10.0.1.2 xxx.yyy.com 然后我使用下面的命令访问该应用程序,它成功了 curl-GET”https://xxx.yyy.com/test“--cacert/etc/upstream.ca-cert.crt-v 然后我想通过NGinX访问应用程序。所以我想在客户端和NGinX服务器之间以及NGinX服务器和应用程序之间创建安全连接。客户端和NG
10.0.1.2 xxx.yyy.com
然后我使用下面的命令访问该应用程序,它成功了
curl-GET”https://xxx.yyy.com/test“--cacert/etc/upstream.ca-cert.crt-v
然后我想通过NGinX访问应用程序。所以我想在客户端和NGinX服务器之间以及NGinX服务器和应用程序之间创建安全连接。客户端和NGinX之间的连接工作正常,但NGinX服务器和应用程序之间的握手工作不正常
这些是配置
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
server_name xxx.yyy.com;
location / {
include /etc/nginx/proxy_params;
proxy_pass https://backend-server;
proxy_ssl_certificate /etc/nginx/ssl/upstream.ca-cert.crt;
proxy_ssl_certificate_key /etc/nginx/ssl/upstream.ca-cert.key;
proxy_ssl_server_name on;
rewrite ^(.*):(.*)$ $1%3A$2;
}
下面是NGinX中的错误日志
2019/12/05 06:46:40 [error] 5275#0: *2078 peer closed connection in SSL handshake while SSL handshaking to upstream, client: xxx.xxx.xxx.xxx, server: xxx.yyy.com, request: "GET /test HTTP/1.1", upstream: "https://10.0.1.2:443/carbon", host: "xxx.yyy.com"
proxy\u ssl
语句用于客户端证书身份验证。您不需要告诉Nginx服务器的CA即可进行连接。是否ssl\u证书
和ssl\u证书
用于客户端证书身份验证?否。这些用于浏览器和反向代理之间的服务器证书。您没有将--cert
选项与curl
一起使用,因此您没有使用客户端证书连接上游,因此不需要代理ssl\u证书。
2019/12/05 06:46:40 [error] 5275#0: *2078 peer closed connection in SSL handshake while SSL handshaking to upstream, client: xxx.xxx.xxx.xxx, server: xxx.yyy.com, request: "GET /test HTTP/1.1", upstream: "https://10.0.1.2:443/carbon", host: "xxx.yyy.com"