私はリモートサーバーにリクエストをプロキシしようとしています、これは私のNginxを設定する方法です
upstream myupstream {
server remote-hostname;
}
...
location ~ ^/(v1|v2|v3)/.*$ {
proxy_pass https://myupstream;
# also tried these options:
# proxy_ssl_server_name on;
# proxy_ssl_verify off;
# proxy_set_header Host <remote-hostname-here>;
# proxy_set_header X_FORWARDED_PROTO https;
}
その結果、エラー502ページが表示され、error.logにこのレコードが表示されます
2018/11/10 19:41:38 [error] 8410#8410: *1 SSL_do_handshake() failed
(SSL: error:1408F10B:SSL routines:ssl3_get_record:wrong version number)
while SSL handshaking to upstream, client: 127.0.0.1, server: <my-web-Host-here>,
request: "GET /v1/some/page HTTP/1.1",
upstream: "https://<my-web-Host-ip-here>:80/v1/some/page",
Host: "<my-web-Host-here>"
何が原因でしょうか?
注:このnginxプロキシはローカルマシンにあります。
upstream: "https://<my-web-Host-ip-here>:80/v1/some/page",
あなたが何を成し遂げようとしているのか、私にははっきりしません。しかし、ポート80にHTTPSサーバーがあることはほとんどありません。ポート80は、HTTPSではなくHTTPによって一般的に使用されます。 HTTPSでアクセスしようとすると、通常、サーバーからHTTPエラー応答が返されます。これは、予期されるTLSハンドシェイク応答として解釈されると、ssl3_get_record:wrong version number
のような奇妙なエラーメッセージになります。