予期しないトラフィックを処理する正しい方法は何ですか

予期しないトラフィックを処理する正しい方法は何ですか

私が設定したUbuntu 20.04.3 LTS nginxバージョン:nginx / 1.20.2

着信SSLトラフィックのリバースプロキシとしてnginxを使用したいと思います。 nginxには証明書がなく、ssl_prereadを使用してサーバー名を取得してバックエンドにルーティングします。ポート443にリダイレクトされるポート80でリッスンするサーバーがあります。

本当にシンプルで効果が本当に良いです..

私のファイアウォールはポート80と443をnginxに転送し、nginxはトラフィックをバックエンドサーバーに送信します。

私の設定:

server {listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 301 https://$host$request_uri;
}

stream {

map $ssl_preread_server_name $name {

mosa.citystates.net other-server;
}



upstream other-server{
server 192.168.10.166:443;
}

server {
listen 443;
proxy_pass $name;
ssl_preread on;
}
}

それでは、リクエストのサーバー名がストリームマップの名前と一致しない場合はどうなりますか?これらのリクエストをbitbucketに正常に送信するにはどうすればよいですか?例:私のDNSが私のnginxサーバーの間違ったドメインをチェックしている場合、nginxはマッピングのどの名前とも一致しないabc.citystates.netの要求を受け取ることがあります。ここで予想される反応は何ですか?私が得るのは、「提供されたホスト名がこのサーバーには無効です」というmosa.citystates.netからの応答だけであり、mosa.citystates.net証明書と応答も送信して私を混乱させます。

私の期待は、フローグラフと一致しないものは破棄されることです。また、名前が一致しないサーバーに要求を転送することも望ましくありません。

また、nginxサーバーのIPアドレスにアクセスすると、「このサイトに接続できません」というメッセージが表示されますが、証明書を持ってはいけないと思うものと一致します。

だから私はこれが少し長いことを知っています。私はnginxに初めて触れたので、問題の簡潔な説明は現在私の能力を少し超えていることです。

この問題を解決する方法のアイデアは非常に役に立ちます。

-FG

ベストアンサー1

おすすめ記事