0
カスタムポートで受信したHTTPSトラフィックを宛先URLの同じカスタムポート番号に転送するようにnginxを設定することに疑問があります。私の場合は以下の通りです。カスタムポートでHTTPSトラフィックを許可するようにnginxを設定する
- 私はAWSにVPCを持っています。私は、HTTPSトラフィックを受信するNAT(私の場合はBastionサーバー)インスタンスでnginxを実行しています。
- VPC内の私のapp-instanceは、nginxによって転送されたリクエストの宛先です。これには、一方向SSL認証用と、双方向SSL認証用の2つのカスタムサブドメインがあります。
- 443ではなく、カスタムポートで双方向認証を持つURIを提供しています。ポート443で実行されているサービスを持つURIは、一方向SSL認証(サーバー認証)を使用します。
- 私のnginx設定ファイルでは、このカスタムポートをリッスンして、SSLハンドシェイクが完了した後に、app-instanceの同じカスタムポートにリダイレクトされたHTTPS要求を取得します。しかし、私は、ハンドシェイクフェーズの後、デフォルトではapp-instanceのポート443にリダイレクトされていることを確認しました。
- HTTPSパケットは、HTTPSスキームを設定した後、Java/Groovyで使用可能なHTTPBuilderオブジェクトを使用して送信されています。私が使用している
サンプルnginxの構成は、ここで与えられます。
server {
listen 8000;
server_name myserver.com;
ssl on;
ssl_certificate /path/to/server/cert;
ssl_certificate_key /path/to/server/key;
ssl_client_certificate /path/to/client/cert;
ssl_verify_client on;
#https requests to this URI gets redirected to port 443 by default
location /customUri1 {
# switch off logging
access_log off;
proxy_pass http://app-instance-ip:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
}
server {
listen 443;
server_name myserver.com;
ssl on;
ssl_certificate /path/to/server/cert;
ssl_certificate_key /path/to/server/key;
location /customUri2 {
# switch off logging
access_log off;
proxy_pass http://app-instance-ip:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
}
}
私はアプリ・インスタンスのカスタムポートにHTTPSリクエストを送信することを可能にする可能性のあるnginxの設定メカニズムはありますか?ありがとう。
groovyコードでクライアント証明書をどのように使用できましたか? –