Nginx proxy_pass面临的问题

时间:2020-06-05 07:21:16

标签: nginx

我想做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"

1 个答案:

答案 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;
        }