エラーの概要

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設定、サーバーリソース不足、ネットワーク障害など他の要因が潜んでいる可能性があります。