nginxのは、ストリームモジュールとL3/4バランサとして機能することができます。
また、ストリームモジュールでSSLトラフィックを終了させることもできますが、これはオプションです。
例1:この場合、SSL終了
stream {
upstream stream_backend {
server backend1.example.com:993;
server backend2.example.com:993;
}
server {
listen 993;
proxy_pass stream_backend;
}
}
ことなくSSL上IMAP用のTCPトンネルは、SSL終端はbackend1/2によって処理されます。
例2:SSL終了を伴うIMAPのTCPトンネル。
stream {
upstream stream_backend {
server backend1.example.com:443;
server backend2.example.com:443;
}
server {
listen 993 ssl;
proxy_pass stream_backend;
ssl_certificate /etc/ssl/certs/server.crt;
ssl_certificate_key /etc/ssl/certs/server.key;
}
}
この場合、nginxとバックエンド1/2の間のトラフィックは暗号化されていません(IMAP 443ポートが使用されます)。
例3:暗号化されていない受信し、それが
stream {
upstream stream_backend {
server backend1.example.com:993;
server backend2.example.com:993;
}
server {
listen 443;
proxy_pass stream_backend;
proxy_ssl on;
proxy_ssl_certificate /etc/ssl/certs/backend.crt;
proxy_ssl_certificate_key /etc/ssl/certs/backend.key;
}
}
ので、クライアントはSSLなしで私達のnginxに接続し、暗号化し、このトラフィックは、SSL暗号化を使用して/ 2 backend1するproxed。
tcp負荷分散を行うとSSLを終了できるかどうかわかりません。それに関するリンクや情報はありますか? thx – adiggo
あなたがバランスHTTPSについて話しているなら、nginxでtcp ssl terminationをする必要はありません。 tcp proxy(HTTPSトラフィックは上流で終了します)を使用できます。または、nginxとHTTPリバースプロキシでHTTPSを終了することもできます。 –
レイヤ4のTCP負荷分散を行うと、SSLをnginxレベルで終了できますか?間違いなく私はバックエンドでsslを終了できます。 – adiggo