REST API問題「の更新中に問題が発生しました。サーバーが稼働しているサイトに接続できない可能性があります。」を解消する。

WordPressで制作をしていると、

「…の更新中に問題が発生しました。サーバーが稼働しているサイトに接続できない可能性があります。」
「cURL error 28: Connection timed out after 10000 milliseconds」

などなどの問題が起こったり、エラーをよく見かけてたんだわな。サイトヘルスではREST APIにエラーが出ているのが常という状態。
これってあるときから気がついていたのだけれど、レンタルサーバーじゃ起こらなく、自前のサーバーだけで起こるので、自前サーバー問題であることは気がついてはいたんだけれど、なんか放置していたんだよねえ。

マルチサイトを使用しているサイトの改修で管理画面に入ると「サイトネットワークをアップグレード」を促され、そのままに行うも

「cURL error 28: Connection timed out after 10000 milliseconds」

が出てアップグレードできない。あんまり影響なさそうなのだが、とても気持ち悪いので、なんとか解決しようとcurlのエラー周りから探すも有効そうな情報は見つからない。ブラウザのキャッシュ消せ、とかそんなのばかりだ。
「レンタルサーバーでは起こらない、自前のサーバーでしか起こらない」ここが肝なんだから、サーバーの問題だと切り分けていたので、ブラウザの問題とは思えなかったのだな。

そんな切り口から探してたら答えがあったわ。

WordPressでREST API エラーの対処方法
https://www.ukilab.net/wordpress-rest-api-error-troubleshooting/

ukiLabさんありがとう!一発解決でした。方法は簡単。自前サーバーのhostsを修正すればいい。

自前のサーバーにSSHでログイン。viでhostsをいじります。
# vi /etc/hosts
そしてIPアドレスの後ろにドメインがついたものを追加します。
127.0.0.1 localhost www.webteq.site
とか
192.168.1.2 www.webteq.site
とかにしたものを追加する。

びっくりしたのが、すでに別の案件のサブドメインでこれやってた記述があったこと。すっかり忘れていたんだな。自分に驚くわ。

でもめんどいわなあ、毎度こんなの書いてくのは、、しかしhosts設定にはワイルドカードは使えないんだそうだ。

ワイルドカードってのはこういう設定ね。
192.168.1.2 *.site

NGならばしかたない。。。

しかしそういう人のためにdnsmasqというアプリがあるらしい。
解説してくれている人々のページを記しておこう。
https://someneat.hatenablog.jp/entry/2017/03/02/070042
https://o296.com/e-89e4cde5d39743f8a4390f18da67c423551c392f6fdd439e89d89a194b18e67a
ただ今はよしとこうっと。今回の案件が終わってからやるわ。大概ね、進行中の案件があるときにサーバーで無理すると失敗につながる。そのスリルも昔は面白かったけど、いまじゃそんなリスク負いたくないもんね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA