web-dev-qa-db-ja.com

Nginx-アップストリームSSL-SSLハンドシェイクでピアが閉じた接続

このエラーが発生しています:

エラーフロントエンド:502 Bad gateway

99.110.244:443

2017/09/28 13:03:51 [エラー] 34080#34080:* 1062ピアがSSLハンドシェイクで接続を閉じました(104:ピアによる接続リセット)、アップストリームへのSSLハンドシェイク、クライアント:10.210.0.81、サーバー:webshop.izegem .be、リクエスト: "GET/HTTP/1.1"、アップストリーム: " https://10.1.10.61:443/ "、ホスト: "webshop.domain.be"

構成:

        # Zone voor connection logging
        limit_conn_zone $binary_remote_addr zone=izSSL_webshop-api_CZ:10m;

        # Zone voor rate logging
        # Hoge rate limit.  x r/s is soms wat snel
        # 10 MB (10m) will give us enough space to store a history of 160k requests.
        limit_req_zone $binary_remote_addr zone=izSSL_webshop-api_RZ:10m rate=20r/s;


upstream webshop_domain_be {
        server webshop.domain.be:443;
}


server {
        listen       443 ssl;
        server_name  webshop.domain.be webshop;

        client_max_body_size 80M;

        ssl_session_cache    shared:webshopSSL:1m;
        ssl_session_timeout  10m;
        ssl_certificate /var/www/certs/webshop.domain.be/webshop.domain.be-chain.pem;
        ssl_certificate_key /var/www/certs/webshop.domain.be/webshop.domain.be-key.pem;
        ssl_verify_client off;
        ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;

        ssl_ciphers RC4:HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;


        location / {

                proxy_ssl_session_reuse off;
                proxy_pass $scheme://webshop_domain_be;

        }
}

nginxバージョン:nginx/1.10.3(Ubuntu)

他のサーバー(10.1.10.61)は、IISこのプロキシで使用しているのと同じ同じ証明書のサーバーです) (正しい?)。IISの問題ではありません。プロキシサーバーは10.1.10.61 /ポート443に到達できます。

https://serverfault.com/questions/583374/configure-nginx-as-reverse-proxy-with-upstream-ssl に基づく構成

Let's Encrypt証明書を使用しています。

6
Jeffrey

Proxy_passが機能した後にこの行を追加しました。

proxy_ssl_server_name on;

その前に here からこれをやった

REDHAT 7/CentOS 7/Oracle Linux 7の場合:環境に証明書をインストールします。

  1. アクティブPEM証明書を次からダウンロードします。 https://letsencrypt.org/certificates/ in/etc/pki/ca-trust/source/anchors
  2. 実行:sudo update-ca-trust

これらの最後の2つのステップが必要かどうかはわかりませんが、両方を行うことでうまくいきました。

乾杯、

8
Masda

IPを使用するようにアップストリームを変更します

upstream webshop_domain_be {
        server <IP>:443;
}

そして、proxy_passブロックする

location / {
   proxy_ssl_session_reuse off;
   proxy_ssl_server_name "webshop.domain.be";
   proxy_pass $scheme://webshop_domain_be;
}

上記が機能しない場合は、proxy_ssl_server_name on;構成にも

1
Tarun Lalwani

私はこれを@nginx使用します

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1h;
ssl_buffer_size 4k;

grep worker_processes /etc/nginx/nginx.conf
worker_processes auto; <<<-- auto not the default value "1"
0
thE_iNviNciblE

他の答えを改善するために、私は言うだろう

upstreamは本当に重要です

あるドメインから別のドメインへの単純なリダイレクトには、これを使用します:

http {
....
upstream someserver {
        server your.domain.name.com:443;
}

location / {
   proxy_pass https://someserver;
}

}
0
Vyacheslav