リバースプロキシ先のWordPressの設定方法

WordPressで制作したWebサイトをリバースプロキシ経由(RPサーバー経由またはリバプロ方式)で表示させる場合の設定を紹介していきます。

RPサーバーのリライト設定だけでは、内部リンクが元々のサイトのままです。また、RPサーバー経由のURLと元々のURLの2つのURLで表示されるため重複しSEO上の評価も悪くなるでしょう。

必ず適切に設定してください。

もし、抜け漏れに気づいた方はお問い合わせよりご指摘いただけますと幸いです。

リバースプロキシ経由でWordPressサイトを表示するネットワークの流れ

リバースプロキシサーバー経由でWordPressを表示するネットワークの流れは下記の通りです。


ブラウザが「https://www.example.com/aaa/」にアクセス

RPサーバーが「https://aaa.example.com/」にリライト


WordPress側の設定内容

リバースプロキシ経由で表示させるWordPressの設定を紹介していきます。

もともとのWordPressのWebサイトのURLは「https://aaa.example.com/」とした想定で紹介していきます。

なおRPサーバー側の設定は記載しておりません。

設定1:wp-settings.php

ファイル「wp-config.php」に下記の内容を追記します。

define('WP_SITEURL', 'https://www.example.com/aaa/');
define('WP_HOME', 'https://www.example.com/aaa/');
define('WP_CONTENT_URL', 'https://www.example.com/aaa/wp-content');
$_SERVER['HTTP_HOST'] = $_SERVER['HTTP_X_FORWARDED_HOST'];
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
$_SERVER['HTTPS'] = 1;

この設定によりRPサーバー経由でも内部リンクが崩れなくなると思います。

また画像などのリソースもRPサーバー経由となります。

設定2:RPサーバー経由のIPのみ表示させるようにアクセス制限をかける

元々のURLとRPサーバー経由のURLの2つから表示されるため、重複コンテンツとしてGoogleから判定を受け、SEO評価が下がる可能性があります。

そのため、元々のURLに対するアクセスをRPサーバーの固定IPのみにアクセス制限するよう設定します。

order deny,allow
deny from all
allow from (ここに固定IPを記載)

この設定により元々のURLにアクセスしても遮断されると思います。

設定3:記事中の画像URLを置換する

記事中の画像は元々のURLが入っています。

そのため記事の編集画面で表示しようとすると、元々のURLの画像リンクが表示できずにリンク切れが起こります。

そのため、投稿や固定ページなどの画像のURLをPRサーバー経由のURLに置換しましょう。

具体的には「aaa.example.com」を「www.example.com/aaa」に置き換えれば完了です。

数が多いでしょうから、プラグイン「Search Regex」を用いると楽です。

以上で設定は完了です。

当社では代行作業も行なっております。

気軽にお問い合わせください。