はじめに
CloudflareでDNS管理してる状態で、XserverにWordPressを入れようとしたらエラーが連発して全然進まなかったので、そのときの記録を残しておきます。
自分みたいに「Cloudflare使ってる状態でXserverにWPを入れたい」って人はそこそこいると思うので、少しでも参考になれば。
結論:Cloudflare と Xserver の設定がケンカしてただけだった
原因はめちゃくちゃシンプルで、
Cloudflare側のDNS管理が優先されるのに、Xserverが勝手にDNSを設定しようとして衝突してただけでした。
この衝突のせいで、
- WordPressが「DNS更新中」って言ってくる
- SSLが発行されない
- そもそもサイトにアクセスできない
みたいな状態が起きてました。
発生したエラー
● 「DNS更新中の可能性があります」
CloudflareのAレコードがXserverのIPを向いていないときに出るやつ。
● SSLが発行されない
Cloudflareのプロキシ(オレンジの雲)が邪魔して、
Xserver側でLet’s Encryptが正常に動かないパターン。
じゃあ、どうやって解決したのか?
① Xserver の自動DNSは気にしない
Cloudflareで管理してる時点で、
Xserver側のDNS設定は無効みたいなものなので、エラーが出てもスルー。
② CloudflareでAレコードをXserverのIPに書き換える
CloudflareのDNSに以下の設定を入れました。
- A @ → XserverのサーバーIP
- A www → 同じくXserverのIP
これだけ。
※最初からCloudflareに違うIPが入ってると、ここが詰まる原因になります。
③ SSLのためにCloudflareのプロキシを一時停止
Let’s Encryptを通すために、一旦CloudflareのプロキシをOFF(灰色の雲)へ。
- プロキシOFF
- Xserver側で独自SSL設定を追加
- 反映まで少し待つ
- プロキシONに戻す
これでSSL問題は全部解決しました。
④ 反映まで少し待つ
Cloudflareは早いけど、Xserver側の処理が遅い時がある。反映されるまでのんびり待ちましょう。特にDNSを登録してすぐは反映されません。
それでもうまくいかないとき
もしまだ動かないなら、下のどれかが原因かも。
- Cloudflare側の古いAレコードが残ってる
- Xserverでドメイン設定がまだ終わってない
- ブラウザキャッシュ
- Cloudflareのキャッシュ
一個ずつ潰していけば、ほぼ確実に直ります。
おわりに
CloudflareでDNS管理している状態でXserverにWordPressを入れると、
設定がけっこう衝突しやすくてハマりポイントが多かったです。
でもやったことはすごくシンプルで、
- DNSはCloudflareが主役
- Xserverの自動DNSエラーは無視でOK
- AレコードをXserverのIPに揃える
- SSL発行のためにプロキシを一時的にOFF
という流れさえ覚えておけば、次からはスムーズにWPが動きます。


コメント