変更履歴
- Rev. 0.7 : 2026年01月01日
- 新規作成
【WordPress】サイトヘルスで
「サイトでループバックリクエストが完了できませんでした」
1 問題事象詳細
2025年12月30日、下に示すような環境下の自宅WordPressサーバーにおいてにおいて、
WordPressプラグインのサイトヘルスが図1-1に
示すよう2件の致命的な問題を表示
していることに気づきました。
① 「REST APIでエラーが発生しました」
② 「サイトでループバックリクエストが完了できませんでした」
②の問題の詳細エラーは下に示す通りで、
自端末へのHTTPループバックリクエストで接続タイムアウトが発生しています。
cURL error28: Connection timeed out after 10002 milliseconds(http_request_failed)
この場合は、PPPoE接続で、グローバルIPアドレスを自動取得するよう
ルーターに設定した場合です。
ルーターにグローバルIPアドレスを直接指定した場合は、
次のエラーのよう接続が拒否されてしまいます。
curl connect to 203.0.113.1 port 443 from 192.168.10.6 port 47112 failed:
ちなみに、PPPoE接続で自動取得するグローバルIPアドレスと、
ルーターに直接指定するグローバルIPアドレスは全く同じです。
①の問題は、②のHTTPのループバックリクエスト失敗が原因で起こったエラーで
あることがわかっています。
放置しておくと、次のような不具合が発生します。
・ WordPressのcronジョブが一切実行されない
・ WordPressやプラグインの更新通知が来ない
・ WordPressやプラグインの自動更新が行われない
・ SiteGurd
のように、一部正常に機能しないプラグインがある
・ REST APIによる外部サービスとの連携ができない
参考に次のページをご覧いただければと思います。
wp-cronが動かないとかで、いくつかのプラグインの自動更新ができていない
【wp-cron】自端末のグローバルIPアドレスで、curlやpingの接続ができない
2 原因と対処の方法
2.1 原因
判明日: 2025年12月30日
NAT(IPマスカレード)を使用してインターネットに接続する場合、
NATの内側にある端末から
同じNATの内側にある端末にNATの外側アドレスを指定して接続することはできません。
何もしなければ、1章で述べた通りの結果となります。
このような接続を可能にするには、
「ヘアピンNAT(Hairpin NAT)」の設定を
行わなければなりません。
ヘアピンNATは、「NATループバック(NAT loopback)」とも呼ばれます。
1章の問題は、ヘアピンNAT設定を行えば解消します。
なお、この設定が必要なのは、自前のインターネット接続環境の場合で、
多くの方がWordPress環境を構築されている、共用型のレンタルサーバー下では不要です。
2.2 ヘアピンNATの設定
ヘアピンNAT機能を実現するには、次の2つの方法があります。
① “hosts”ファイルのローカルホスト行に、自分のホスト名(ドメイン名)を追加する
② ルーターにヘアピンNAT設定を行う
2.2.1 “hosts”ファイルのローカルホスト行に、自分のホスト名を追加
“/etc/hosts”ファイルのローカルホスト行(IPアドレス“127.0.0.1”の行)に
DNSで設定した自分のホスト名を追加します。
変更は、ファイルを閉じたら直ちに反映されます。
hostsファイルへ追加した端末だけが、ヘアピンNAT機能が有効になります。
LAN内の他の端末には影響しません。
2.2.2 ルーターにヘアピンNAT設定を行う
ルーターでのヘアピンNATの設定は、LAN内の全端末に反映されます。
外部からのアクセスが1台しかない小規模LANでは、
ルーターでの設定は必要ないと思いますが、参考として設定例を示すことにしました。
本項では、YAMAHAのRTXシリーズでのヘアピンNATの設定例を示します。
GUIは対応していないので、コマンドでの設定となります。
本項での設定例は、次のページから引用しています。
ヘアピン NAT 機能 | YAMAHA RTrro
ここで示すコマンドの機能書式などは、次のページをご覧ください。
YAMAHAルーターシリーズ コマンドリファレンス | YAMAHA RTpro
ここで示す設定例は、図2.2-2に示すネットワーク構成の場合とします。
下に、ヘアピンNATの設定例を示します。
ディスクリプター番号は、既設定値をNAT設定GUI、
またはメンテナンスの“config”でご確認ください。
例で示すような“1”ではないはずです。
(1) ルーターのLAN2インターフェースに、固定グローバルIPアドレスを設定します。
(2) ルーターのLAN2インターフェースに、
ヘアピンNAT機能を有効にしたIPマスカレードを適用します。
(3) NATディスクリプター番号1番でヘアピンNAT 機能を有効にします。
(4) NATディスクリプタ―番号1番の外側アドレスに、
固定グローバル IPアドレスを設定します。
(5) Webサーバーをインターネットに公開するための設定です。
既に自ネットワークのグローバルIPアドレス、およびIPマスカレードの設定が済んでいる
なら、ヘアピンNAT機能を追加するには、(3)、(4)のコマンドを実行するだけとなります。
以上
本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。
少しでも役に立てていただければ、うれしく思います。
このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元と著者名は明らかにしてください。
なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

コメント