1.はじめに
Let's Encrypt 認証をやってくれる物理サーバにはできるだけWeb表示の負担を減らすことが理想とされ、そのために nginx の reverse proxy を積極的に利用すべきなのです。
ところが、これを利用するとデザインが崩れてうまく行かない場合がある。それを解決するやり方は?がここの課題だ。
設定した環境は以下のとおり。
$ nginx -v
nginx version: nginx/1.26.2
$ php -v
PHP 8.3.12 (cli) (built: Sep 29 2024 11:04:45) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.12, Copyright (c) Zend Technologies
with Zend OPcache v8.3.12, Copyright (c), by Zend Technologies
2.Wordpressでは、proxy_passだけの設定で良いこと
nginx がもつ基本的な機能だけにして、以下の設定だけにすること。
location / {
proxy_pass http://xxx.xxx.xxx.xxxx; # IPアドレスの設定
}
ただし、Wordpress 側にある
siteurl と home の値は、IPアドレスではなく、ドメイン名にすること。
「Wordpress のデータベーステーブル (wp_options テーブル) の値を変更する方法もあります。siteurl オプションを変更して "localhost" ではなくドメイン名を直接指定してください。」「見た目がおかしい(テーマが適用されない)」より
3.Joomla では、通常設定される項目を設定する必要がある
Joomlaは ワードプレスのように siteurl とか home という設定はない。
だからプロキシ元でヘッダーを渡してやる必要がある。
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
proxy_pass http://xxx.xxx.xxx.xxx/;
}
Comments powered by CComment