DockerでHTTPS-PORTAL使うとHTTPSサイトの構築が超絶簡単

前回、DockerでWordPress+MySQL+phpMyAdmin+WSGIなローカルサイトを実験しましたが、HTTPなサイトですのでHTTPS化を図りたいところです。さぞや手間がかかるかと思いきや、Dockerコンテナを1個追加するだけ。しかも、Let’s EncryptからSSL/TLSサーバ証明書を自動取得してくれる機能まで搭載。

超絶簡単なHTTPS版WordPressサイトの作り方をご紹介します。

1.前提

  • Mac: macOS 10.15.2 Catalina
  • docker: version 19.03.5, build 633a0ea
  • docker-compose: version 1.24.1, build 4667896b
  • Homebrew: 2.2.2

2. 構成ファイル一覧

GitHubのリポジトリからダウンロード。または下記コマンドで入手できます。

構成ファイル一覧です。
前回に対して、コンテナが1個(https-portal)増えただけです。

3. docker-compose.yml

前回のファイルとの違いは3-17行。コンテナhttps-portalに関する記述のところだけ。

4. なんちゃってSSL/TLS証明書の作成

HTTP化するには、認証局からSSL/TLS証明書 を取得する必要があります。今は実験段階ですので、ローカルに偽の認証局を開設して、なんちゃって証明書を発行します。

5. コンテナ起動

6. WordPress起動

https://localhost/にアクセスします。

なんちゃって証明書なのでブラウザに怒られます

構わず先に進みます。

どんどん進みます。

挙げ句の果てに、指紋やらパスワードやらを求められます。

やっとこさ表示されました。

ニセ証明書を使ってるために、何度も何度もブラウザのチェックを受けますが、最終的にWordPressの初期設定ページに辿り着きました。

もちろんHTTPSです。

7. 本番環境を構築するには

ローカルではありますが、HTTPSなWordPressサイトがいとも簡単に構築できました。本番環境ではどうかといいますと…

docker-compose.ymlのhttps-portalの一部を、ちょっこっと変更するだけ。

変更前

変更後

your-domain.nameには本番環境のドメインを設定します。

STAGEをproductionに設定すると、無料で利用できる大人気認証局Let’s EncryptからSSL/TLSサーバ証明書を自動的に取得してくれ、更新までもが全自動になります。さらに、HTTPへのアクセスをHTTPSへリダイレクトしてくれます。HTTPS-PORTAL恐るべし。至れり尽くせり。

docker-compse.ymlを本番環境に合わせて設定したら、Dockerイメージをビルドしてコンテナを起動しましょう。

https://your-domain.name/にアクセスしたら、WordPressの初期設定画面が表示されるはず。

補足:当たり前ではありますが、http://your-domain.namehttps://your-domain.nameへアクセスしたときにDockerが起動しているサーバに到達できるように、

  • ドメインネームは取得済で、
  • DNSサーバやルータ等が正しく設定されている

必要があります。

8. まとめ

Docker上でのHTTPSなWordPressの設営が超簡単でおすすめ。

参考

HTTPSに対応したWordPressのローカル開発環境をDockerで構築

全自動Let’s Encrypt Dockerコンテナ “https-portal” を使ってウェブサイトをHTTPS化する

Leave a Comment

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください