動作環境
WordPress の動作環境
・Raspberry pi 3 b+
・Rasbian 10.0 (buster)
・MySQL 15.1 Distrib 10.3.17-MariaDB, for debian-linux-gnueabinf(armv71) using readline5.2
・PHP 7.3.9-1~deb10u1
・Apache 2.4.38(Raspbian)
・WordPress 5.2.3–ja
・OpenSSL
・ドメインは xxx.mydns.jp を取得
ネットワーク環境
[WAN側]<--光-->[モデム]<>[無線ルータ:ポート変換]<...無線...>[RaspberryPi3]
↑
外側のIPからテスト用PCでアクセス。
WordPress は起動し、インターネットからアクセスしてログイン、通常の操作ができます。
よって、FTPにてサイトのアップロード可能、また、SSH接続可能、https://でのアクセス可能。で、自宅にある無線ルータのポート変換では 443 は通っていると思われます。
エラー内容
REST API リクエストはエラーのために失敗しました。
エラー: [] cURL error 7: Failed to connect to xxx.mydns.jp port 443: No route to host
プラグイン:Query Monitor をいれてログを確認しました。
cURL error 7: Failed to connect to xxx.mydns.jp port 443: No route to host
-
1.do_action('admin_enqueue_scripts')
wp-includes/plugin.php:465
2.WP_Site_Health->enqueue_scripts()
wp-admin/includes/class-wp-site-health.php:88
1.WP_Site_Health->get_test_rest_availability()
wp-admin/includes/class-wp-site-health.php:1670
疑問
・そもそもネットワーク設定だけの問題か
・cURL がきちんとインストールされていないのか
(phpinfo では入っているようです)
を含め、どう切り分けたらいいのか。
raspberry pi のほうのファイアーウォール(iptables)はすべてクリアした状態です。
解決
いつの間にかエラー内容が
cURL error 7 → 28 (タイムアウト)
に変わっていました。
これは証明書がらみと予想しました。
開発環境はLAN内で、証明書を発行させたのもLANからでした。
ということはもしかしたらインターネット側から証明書を
発行しないといけないのかしら、と思い、試したところ、
エラーが解消されました。
根本的な原因と説明がつかないのですが、とりあえず
致命的なエラーは検出されなくなりました。