はじめに
単一のグローバルIP上で複数のサブドメイン(例: www や tech)を運用する際、保守性を高めるために .conf ファイルとSSL証明書(Let’s Encrypt等)をサブドメインごとに個別分割する構成は一般的です。
この構成において、サーバーのIPアドレスを直接指定してアクセス(IP直打ち)した際に ERR_CONNECTION_TIMEOUT(タイムアウト)で沈黙する現象 について、その技術的要因とセキュリティ上のメリットを整理します。
IP直打ちアクセスでタイムアウトが発生する仕組み
【正規アクセス(SNIあり)】
https://www.example.com ──► SNI判定 ──► www.conf ──► 正常応答 (200 OK)
【不正・走査アクセス(IP直打ち)】
https://192.0.2.1 ────────► SNI不一致 ─► 宛先不明 ─► 無応答・タイムアウト
-
個別証明書・マルチドメイン運用の前提:
各 .conf は特定の server_name(SNI)でのみリクエストを拾うよう設計されています。 -
IP直撃時の挙動:
HostヘッダーやSNIに一致する server_name が存在しないため、Nginx側で振り分け先を決定できず、TLSハンドシェイクが完了しないままパケットが破棄(沈黙)されます。
「あえて何もしない(沈黙)」が防衛上の正解である理由
下手にデフォルトサーバー(server_name _ ;)や汎用キャッチオールを設定してエラーページやリダイレクトを返すよりも、タイムアウトで沈黙させる運用には以下の利点があります。
-
サーバー情報の完全な秘匿(ステルス性)
インターネット上の無差別スキャナーやボットに対して、エラーレスポンスや証明書情報(CN/SAN)を一切返さないため、「有効なWebサーバーが存在しない」状態を演出できます。 -
無駄なリソース消費の遮断
不正なアクセスに対してTLSのハンドシェイク処理やHTTPエラー応答の生成を行わないため、CPUやメモリのリソースを保護できます。 -
設定事故リスクの排除
無理に共通のフォールバック設定を差し込むことによる、既存の個別SSL環境への干渉や設定競合トラブルを防げます。
まとめ
「保守性の向上」を目的に行った .conf と証明書の個別分割は、結果として不審なアクセスを無言でドブに捨てる堅牢なサイレント防衛網として機能します。
より詳しい構成や運用の背景について
マルチドメイン環境におけるNginx設定の分離方針や、セキュリティ設計の背景についてはブログ本編にてまとめています。
環境構築やインフラ設計のリファレンスとしてご活用ください。
👉 ブログ本編はこちら:
Nginxで複数サブドメイン(個別証明書)を運用しているとき、IP直撃アクセスが「タイムアウト」になる理由と防衛上の正解