ひとつのVPSでWordPressとDjangoを共存させる3(NGINX設定編)

前回の記事でWordpress、MySQL、NGINXの起動まで行いました。今回はNGINXの設定とSSL証明書の取得を行いたいと思います。

WordPressの動作を確認する

まず最初にWordpressの動作を確認しリバースプロキシ設定を行います。LightsailのコンソールからWordpressを立ち上げているポートを一時的に開けます。その後ブラウザよりグローバルIP:ポート番号でWordpressにアクセスを行い、言語やユーザーの設定を行って下さい。

32701-32702を開ける
リバースプロキシに対応するためのプラグインを入れる

Wordpressは前に構えたNGINXからのリクエストを受け付けるのですが、WordpressのURL設定を変更しただけでは、CSSなどのスタティクファイルがhttps化されません。そこで、SSL Insecure Content Fixerと呼ばれるプラグインをインストールします。

インストールするプラグイン
上記の設定のみ変更する
NGINXの80番のコンフィグを設定する

続いてNGINXのコンフィグを設定します。コンテナからコンフィグファイル類をコピーしていたと思いますので、conf.d配下にconfファイルを作ります。

$ cd /home/ubuntu/docker/lb/config/nginx/conf.d/
$ vi wp01.conf

記述するのは以下 SSL証明書検証のために80番を開けておかないといけないので、以下のような記述をします。.well-known意外は301でhttpsに転送します。

$ cat wp01.conf
server {
 listen 80;
 server_name mysite.com;
 location ^~ /.well-known/acme-challenge/ {
  default_type "text/plain";
  root /usr/share/nginx/html;
 }
 location / {
  return 301 https://$host$request_uri;
 }
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root /usr/share/nginx/html;
 }
}
SSL証明書を取得する

nginxが動いている状態で、以下のコマンドを叩いてSSL証明書を取得して下さい。Congratulationsが確認できれば成功です。

$certbot certonly
 - Congratulations! Your certificate and chain have been saved at:

NGINXの443番のコンフィグを設定する

続いて443の設定です。serverでproxy_passに投げたあとにローカルIP+ポート番号にロードバランスする形になります。複数ファイル作成することで複数サイトに対応出来ます。Djangoへの振分もこの設定を使用します。

$ cat wp01ssl.conf
upstream mysite.com {
 server 3.2.4.1:32701;
}
server {
 listen 443 ssl;
 server_name mysite.com;
 location / {
 proxy_pass http://mysite.com;
}
 ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem;
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root /usr/share/nginx/html;
 }
 client_max_body_size 10m;
}

NGINXを再起動します。

$ docker-compose restart lb

設定したURLでのアクセスが確認できたら最後にWordpressのサイトアドレスの設定を変更します。注:すべての設定が完了してから変更しないと2度とアクセスできなくなる可能性があります。その場合は再インストールなどが必要となりますのでご注意下さい。

投稿を作成しました 103

ひとつのVPSでWordPressとDjangoを共存させる3(NGINX設定編)」への2件のフィードバック

コメントを残す

関連する投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る
%d人のブロガーが「いいね」をつけました。