まとめ
- Nginx 設定に
proxy_set_header X-Forwarded-Port $server_port;
を追加することで解決できた。
WordPress サイトヘルスの critical issue 2 つの内容
oki2a24 is not connected.: 200 Jetpack Jetpack サポートにお問い合わせください。
想定外のサーバーポート値です。 Jetpack お使いの wp-config.php ファイルに次の記述を追加してみてください。 define( ‘JETPACK_SIGNATURE__HTTPS_PORT’, 0 );
修正内容
/etc/nginx/conf.d/default.conf
を次のように修正しました。
$ diff -up default.conf.201912190747 default.conf
--- default.conf.201912190747 2019-12-19 07:47:11.111428000 +0900
+++ default.conf 2020-02-12 08:37:31.557622747 +0900
@@ -32,6 +32,7 @@ server {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Port $server_port;
proxy_cache_valid 200 404 1d;
location ~ /\. {deny all; access_log off; log_not_found off; }
$
原因の考察
本ブログのサーバは、 Nginx でウェブブラウザからのリクエストを受付け、それを PHP-FPM へリバースプロキシします。 PHP-FPM はたらいまわしされてきたリクエストを処理し、レスポンスを返します。
今まで、リバースプロキシするときに、 Nginx のポートの情報を PHP-FPM へ渡していませんでした。これが原因で、 JetPack プラグインではポートの情報を処理できず、サイトヘルスにエラーを表示していたのだと思います。
修正にたどり着くまでに調べたこと
[JETPACK_SIGNATURE__HTTPS_PORT] で JetPack のコードを検索しました。
It’s better to configure the proxy to send the X-Forwarded-Port header.
とあります。これは Nginx 設定だろうと、 [X-Forwarded-Port] で検索し、修正へとつながりました。
おわりに
動いているからいいか、と放置していたエラーでしたけれども、ようやく原因に納得がいき、修正までたどり着くことができました。
嬉しいです♪
以上です。
「WordPress サイトヘルスの critical issue 2 つを解決したメモ」への2件の返信
[…] WordPress サイトヘルスの critical issue 2 つを解決したメモ – oki2a24 でポート番号を Nginx 設定に追加いたしました。最終的に $server_port を設定いたしましたけれども、これに至るまでに実は […]
[…] WordPress サイトヘルスの critical issue 2 つの内容より、nginx、php-fpm を使っている場合、「X-Forwarded-Port」で対応できるとのこと。 […]