0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Docker環境のWordPressをHTTPS化してみた|Nginx Proxy Manager + Let's Encrypt

0
Posted at

Dockerで構築したWordPress環境を、Nginx Proxy Manager(NPM)を使ってHTTPS化してみました。

今回は、無料VPS上にDockerでWordPressを構築し、その前段にNginx Proxy Managerを配置して、Let's EncryptのSSL証明書を取得する構成です。

今回やったこと

構成としては、以下のようにしました。

Internet
   ↓ HTTPS
Nginx Proxy Manager
   ↓ HTTP
WordPress Container
   ↓
MySQL Container

Nginx Proxy Managerをリバースプロキシとして利用することで、WordPressコンテナ自体にSSL証明書を設定するのではなく、NPM側でHTTPS通信を受ける構成にしています。

環境

  • Ubuntu 24.04
  • Docker / Docker Compose
  • WordPress
  • MySQL
  • Nginx Proxy Manager
  • Let's Encrypt
  • 無料VPS

Nginx Proxy Managerを使う理由

Nginxの設定ファイルを直接編集する方法もありますが、Nginx Proxy Managerを使うと、ブラウザ上のGUIからリバースプロキシやSSL証明書を管理できます。

特にDocker環境では、複数のWebアプリを同じサーバーで動かす場合にも扱いやすいと感じました。

HTTPS化の流れ

大まかな手順は以下です。

  1. Nginx Proxy ManagerをDockerで起動
  2. WordPressコンテナと同じDockerネットワークに接続
  3. ドメインをNPMに登録
  4. WordPressコンテナへリバースプロキシ
  5. Let's EncryptのSSL証明書を取得
  6. HTTPSアクセスを確認
  7. HTTPからHTTPSへのリダイレクトを設定

ちょっとしたポイント

今回、Nginx Proxy Managerの管理画面用ポートをインターネットへ直接公開しない構成にもしました。

必要なときだけSSHポートフォワーディングを利用して管理画面へアクセスする方法です。

Internet
   │
   ├── HTTPS → NPM → WordPress
   │
   └── SSH → ポートフォワーディング → NPM管理画面

管理画面を常時公開しなくてもよいため、Dockerで個人用サーバーを構築するときには便利な方法だと思います。

HTTPS化でハマったところ

実際に構築してみると、単純にSSL証明書を取得するだけでは終わらないケースもありました。

特にWordPressでは、

  • HTTP / HTTPSの認識
  • リバースプロキシ
  • Mixed Content
  • CSSや画像がHTTPで読み込まれる問題

などで、HTTPS化後にサイトの表示が崩れることがあります。

私も実際にこの問題に遭遇したので、原因と対処方法について別の記事に詳しくまとめています。

詳細はこちら

👉 "Nginx Proxy ManagerでWordPressをスマートに常時SSL化(HTTPS)する方法" (https://go-pro-world.net/docker-nginx-proxy-manager/)

まとめ

DockerでWordPressを運用する場合、Nginx Proxy Managerをリバースプロキシとして利用すると、HTTPS化や複数サービスの公開を比較的管理しやすくなります。

特に、

ブラウザ
   ↓ HTTPS
Nginx Proxy Manager
   ↓ HTTP
WordPress

という構成にすると、SSL証明書の管理をNPM側に集約できます。

今回は実際に無料VPS上で構築した環境をもとに、HTTPS化からMixed Contentの解決まで試してみました。

詳しい設定手順や実際に発生したトラブルについては、上記のブログ記事にまとめています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?