目次
エラーの概要
Webサイトの運用中に、以下のような接続エラーが発生しました。
CONNECT(****:80)/hostname lookup: Name or service not known
The requested URL: http://****
The server refuse to browse the page.
The URL or other input may not be correct. Please confirm the value.
ERROR: CONNECT(****:80)/hostname lookup: Name or service not known
このエラーは一見「名前解決(DNS)ができていない」と読めますが、実際にはDNSの問題ではありませんでした。
調査の経緯
- NSLOOKUPでの確認
複数のDNSサーバーでnslookup
を実施したところ、正しく解決できることを確認。DNSに問題はありませんでした。 - HTTPS設定の確認
サーバー証明書や443番ポートの応答にも異常はなく、SSL関連の設定不備も見つかりませんでした。 - 発生状況
サイト全体で 503エラー が多発しており、一時的に閲覧不能になる状態が継続しました。 - ホスティング環境
さくらインターネットの共用サーバー環境を利用していました。
原因の切り分けと解決策
最終的に分かったのは、さくらインターネットが提供するWAF(Web Application Firewall)が原因でした。
- WAFを OFF にすると、即座に正常な動作へ復帰。
- WAFの 検知ログには何も残っていない ため、表面上はブロックされた痕跡がありませんでした。
このことから、WAFが内部的にリクエストを拒否し、結果的に「名前解決できない」あるいは「接続できない」かのようなエラーを返していたと考えられます。
エラーの本来の意味
hostname lookup: Name or service not known
は本来、
- ホスト名がDNSで解決できない
- 名前解決の設定が誤っている
といったケースで表示されるメッセージです。
しかし今回の事例のように、WAFがリクエスト処理を中断した結果、外部的には「名前解決エラー」に見えるケースもある点に注意が必要です。
まとめ
今回の事例から得られたポイントは以下の通りです。
- エラー文言だけでDNS障害と決めつけるのは危険
- 503エラー多発時は WAFやセキュリティ機能による遮断も疑うべき
- WAFのログに残らないケースもあるため、切り分けには 一時的にWAFをOFFにする検証 が有効
- phpファイルではなくて、txtファイルで起きたのは不明
補足
本記事で紹介した内容は、あくまで特定環境における一例です。
同じエラーが出ても必ずしもWAFが原因とは限らず、DNS設定、サーバーリソース不足、ネットワーク障害など他の要因が潜んでいる可能性があります。