最近WordPressのアクティビティログを確認したら「ホームのURL」と「サイトのURL」を変更した旨のメッセージが大量に出力されていた。
メッセージは不定期に出力されているけど、だいたい以下の内容が1セットになっている様子。
- WordPressのアドレス(ホームのURL)を「https://XXX.XXX.XXX.XXX/」と設定しました
- WordPressのアドレス(サイトのURL)を「https://XXX.XXX.XXX.XXX/」と設定しました
- WordPressのアドレス(ホームのURL)を「https://yusukesakai.com/」と設定しました
- WordPressのアドレス(サイトのURL)を「https://yusukesakai.com/」と設定しました
- WordPressのアドレス(ホームのURL)を「https://yusukesakai.com/」と設定しました
- WordPressのアドレス(サイトのURL)を「https://yusukesakai.com/」と設定しました
このサーバのIPアドレス(XXX.XXX.XXX.XXX)への変更とwww付きURLへの変更後、元のURLに戻るのが繰り返されている。傾向としては、IPアドレス変更から元のURLに戻るまでがだいたい5~10分、発生間隔は30分~1時間くらいが多かった。もちろん該当時間に操作した覚えなし。
気付いたときには元のURLに戻ってるし、自分がアクセスしたときはエラー等発生していないし問題ないのかもしれないけど、何となく気持ちが悪いので以下の対処をした。
wp-config.php
以下の行をコメントアウトして、設定反映のためにNginxを再起動した。ちなみに、サーバの引っ越しをしてからずっとBitnamiのデフォルト設定だった。
# define('WP_SITEURL', 'http://' . $_SERVER['HTTP_HOST'] . '/'); # define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST'] . '/');
おそらく、$_SERVER['HTTP_HOST']
でリクエスト情報をもとにURLを定義しているのがまずかったようなので、固定値にするか、以下のような記述でもOKなはず。
define('WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/'); define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME'] . '/');
なお、WordPressの仕様で、wp-config.phpに'WP_SITEURL'
と'WP_HOME'
の設定があると、GUIの設定項目がグレーアウトされて変更できないらしい。知らなかった。
原因の推測
そもそも何故IPアドレスやwww付きURLのリクエストが届くのか。
検証していないので確証はないけど、何となくCloudFlareが怪しいと思っている。このサイトはCloudFlareでDNS設定しているので、サイト状態確認のためにIPアドレスでのアクセスとかあっても不思議ではないかと。
とりあえず、URLは変更されなくなってアクティビティログも落ち着いたので、しばらくはこのまま様子見かな。