JKSを使用して署名するPlay2.1.xアプリケーションがあります。 domain.com:9443
で稼働しており、利用可能です。同じマシン上にさらに多くのアプリがあるため、nginxでプロキシする必要があります(したがってポート443
)だけで実行することはできませんproxy_pass
とhttps
を使用すると、プロキシすることができるようになることを期待して、nginx構成を追加しましたクライアントへ
upstream backend-secure {
server 0.0.0.0:9443;
}
server {
listen 443 ssl;
server_name domain.com;
proxy_redirect off;
proxy_set_header Host $Host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass https://backend-secure;
}
}
残念ながら、ブラウザでhttps://domain.com
を開こうとすると、次のようにnginx/error.log
にしかログインできません。
sSLハンドシェイク中にSSLポートでリッスンしているサーバーで「ssl_certificate」が定義されていません。クライアント:123.123.123.123、サーバー:0.0.0.0:443
それを機能させる方法はありますか、それともオプションはnginx SSL + http
バックエンドを使用する一般的な方法を使用することですか?
編集:それはEV、重要な場合はマルチドメイン証明書です。
プロキシの唯一のオプションは、nginx内に証明書を置くことです。別のオプションは、単にTCP ngnixの外部に接続を転送することですが、X-Real-IP、X-Forwarded-Forなどは取得されません。