2番目のリバースプロキシサブドメインで奇妙なSSLエラーとアップストリームエラーが発生します。

2番目のリバースプロキシサブドメインで奇妙なSSLエラーとアップストリームエラーが発生します。

私の現在の状況は、dockerを実行するUbuntuサーバーがあることです。そのドッカーでNGINXをリバースプロキシとして実行します。これはportainerに対してうまく機能しますが、同じ構成(別のIPを使用するofc)で2番目のサブドメインを追加しようとすると、次のエラーが発生します。また、ブラウザで502エラーが発生します。

2022/06/13 12:33:29 [エラー] 22#22: *5 SSL_do_handshake() 失敗 (SSL: エラー: 1408F10B: SSL ルーチン: ssl3_get_record: 無効なバージョン番号)、アップストリームとの SSL ハンドシェイク、クライアント: 1 。 94.85, サーバー: prometheus.x.net, 要求: "GET /favicon.ico HTTP/1.1", アップストリーム: "https://172.20.0.110:9090/favicon.ico", ホスト: "prometheus.x.net" 、リファラー: "https://prometheus.x.net/"

Cloudflare を使用してソースとエッジの SSL 証明書を管理します。

これは動作しないページの設定です。動作している他のサブドメインとまったく同じで、IPだけが異なります。 IPとポートを3回確認しましたが、正常に動作します。

upstream prometheus {
        server          prometheus:9090;
}

server {
        listen 80;
        listen [::]:80;
        server_name prometheus.x.net;
        return 302 https://$server_name$request_uri;
}

server {
        listen          443 ssl;
        listen          [::]:443 ssl;
        ssl_certificate         /etc/ssl/cert.pem;
        ssl_certificate_key     /etc/ssl/key.pem;
        ssl_client_certificate  /etc/ssl/cloudflare.crt;
        ssl_verify_client       on;
        server_name     prometheus.x.net;

        location / {
                # Allow websockets
                proxy_http_version 1.1;
                proxy_set_header Connection "upgrade";
                proxy_set_header Upgrade $http_upgrade;

                # Default headers
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $host;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_pass https://prometheus;
        }
}

この問題をどのように解決できますか?

編集:conf.dフォルダの各サブドメインに.confファイルを使用します。これが重要かどうかはわかりません。

ベストアンサー1

投稿して1分で分かりましたね。問題を解決するのに1分かかります。

Portainerとは異なり、アプリケーションにはHTTPSが組み込まれていないため、現在の構成ではNGINXはHTTPのみをサポートしますが、HTTPSを使用してローカルにアプリケーションにアクセスしようとします。

proxy_pass https://prometheus;

しなければならない

proxy_pass http://prometheus;

おすすめ記事