小编Jas*_*enn的帖子

Nginx 反向代理到 HTTPS 上游得到 502 Bad Gateway?

我的目标是编写 Jasmine(一个 JavaScript BDD 测试框架)测试,以执行由独立团队构建的后端 API。

我有一个在端口 9000 上运行的 Jasmine 服务器。该代码使用以 /web/ 开头的相对路径发出 AJAX 请求。我希望将这些请求定向到后端。

到目前为止,我有一个上游块的反向代理,如下所示:

upstream backend {
  server api-dev.example.com;
}

server {
  ...

  location / {
    proxy_pass http://localhost:9000;
    ...
  }

  location /web/ {
    proxy_pass https://backend/web/;
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

到“/”的流量工作正常,但 AJAX 请求(例如,

http://localhost:50000/web/internal?action=network-statistics
Run Code Online (Sandbox Code Playgroud)

) 是 502'ing。我相信它到达了正确的端点,但存在 SSL 错误。Nginx 的错误日志似乎证实了我的怀疑:

2013/12/13 16:55:28 [error] 1885#0: *257 SSL_do_handshake() failed (SSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol) while SSL handshaking to upstream, client: 127.0.0.1, server: localhost, request: "GET /web/internal/stats?action=network-statistics&request=null HTTP/1.1", upstream: "https://50.18.192.173:80/web/internal/stats?action=network-statistics", host: "localhost:50000", referrer: "http://localhost:50000/" …
Run Code Online (Sandbox Code Playgroud)

ssl nginx reverse-proxy

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

nginx ×1

reverse-proxy ×1

ssl ×1