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

関連記事
最も読まれた記事
クラウドタグ