我想做proxy_pass
https://atmvpn.appdomain.cloud/sft-ui/sft/api/orgs/v1/org
的方式应为
https://dev.apnat.net/sft/api/orgs/v1/org
因此,在proxy_pass期间,我们需要删除sft-ui
,因此我在nginx.conf文件中添加以下位置
`location /sft-ui/sft/api {
access_log off;
rewrite ^/sft-ui/(.*) /$1 break;
proxy_pass <%= ENV["AMS_DOMAIN"] %>;
}`
我已将 AMS_DOMAIN 设置为环境变量。但是,当我在浏览器中点击https://atmvpn.appdomain.cloud/sft-ui/sft/api/orgs/v1/org
时,出现错误“ 502 Bad Gateway”。
在openshift pod的日志中,我可以看到:
2020/06/05 07:06:46 [error] 11#11: *1 SSL_do_handshake() failed (SSL: error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:SSL alert number 40) while SSL handshaking to upstream, client: 172.30.96.141, server: , request: "GET /sft-ui/sft/api/orgs/v1/org HTTP/1.1", upstream: "https://104.18.12.180:443/sft/api/orgs/v1/org", host: "atmvpn.appdomain.cloud"
2020/06/05 07:06:46 [warn] 11#11: *1 upstream server temporarily disabled while SSL handshaking to upstream, client: 172.30.96.141, server: , request: "GET /sft-ui/sft/api/orgs/v1/org HTTP/1.1", upstream: "https://104.18.12.180:443/sft/api/orgs/v1/org", host: "atmvpn.appdomain.cloud"
答案 0 :(得分:-1)
只需添加proxy_ssl_server_name即可;解决了
location /sft-ui/sft/api {
access_log off;
rewrite ^/sft-ui/(.*) /$1 break;
proxy_pass <%= ENV["AMS_DOMAIN"] %>;
#By setting to "on" can proxy to upstream hosts using SNI
proxy_ssl_server_name on;
}