🐣 はじめに
これまでZoraxyを使ったリバースプロキシ環境のセットアップ、パスベース振り分け、HTTPS対応を完了しました。今回はSSL証明書(Let's Encrypt)の取得方法を詳しく解説し、さらに実際の運用を見据えた便利な管理方法も紹介します。
初心者にもわかりやすく解説しますので、ぜひ最後までお付き合いください!
📋 今回の内容
- SSL証明書(Let's Encrypt)認証の流れ
- SSL証明書の自動更新設定
- 運用時に役立つ機能紹介
🚩 SSL証明書(Let's Encrypt)認証の流れ(まとめ)
※以下の手順に記載されているyour.domain
は実際のドメイン名に置き換えてください。
① サーバーの事前準備
- DockerでZoraxy(リバースプロキシ)環境を構築済み
- ルーターのNAT設定でポート80と443を開放(外部IP→内部サーバー)
② Certbotのインストール
証明書取得用ツールCertbotをインストールします。
sudo apt update
sudo apt install certbot -y
③ 証明書の取得
Zoraxyを一時停止して、証明書を取得します。
sudo docker compose down
sudo certbot certonly --standalone -d your.domain
sudo docker compose up -d
証明書は以下に保存されます。
/etc/letsencrypt/live/your.domain/fullchain.pem
/etc/letsencrypt/live/your.domain/privkey.pem
④ 証明書をZoraxyで使用するためにコピー
以下を実行すると、ホームディレクトリ(例:/home/ユーザー名/
)にコピーされます。
sudo cp -L /etc/letsencrypt/live/your.domain/fullchain.pem ~/fullchain.pem
sudo cp -L /etc/letsencrypt/live/your.domain/privkey.pem ~/privkey.pem
sudo chown ユーザー名:ユーザー名 ~/fullchain.pem ~/privkey.pem
⑤ ローカルPCに証明書をダウンロード
ローカルPCの現在のフォルダに保存されます。
scp ユーザー名@サーバーIP:~/fullchain.pem ./
scp ユーザー名@サーバーIP:~/privkey.pem ./
不要になった証明書ファイルは削除しても構いません。
⑥ Zoraxyに証明書を登録(TLS / SSL certificates)
- Public Key:
fullchain.pem
- Private Key:
privkey.pem
- Domain:
your.domain
⑦ HTTPS接続を確認
ブラウザで以下にアクセスして、🔒マークが表示されれば成功です。
https://your.domain
⑧ 同じWIFI環境からのアクセス(hostsファイル設定)
注意事項
同一WIFI環境内ではNATループバックの制限により、ドメイン名でサーバーへのアクセスができない場合があります。この問題を避けるために、別のインターネット回線(例えばスマホのモバイル通信)からアクセスして動作確認を行ってください。
下記は同じWIFIからでもアクセスが可能になる設定です
hostsファイルを編集する場合は以下のファイルを管理者権限で開きます。
C:\Windows\System32\drivers\etc\hosts
ファイル末尾に以下を追記します。
サーバーIPアドレス your.domain
例:サーバーIPが192.168.1.10
の場合
192.168.1.10 your.domain
⑨ 自動更新の設定確認
以下のコマンドで証明書の自動更新設定が正常に動作するかテストします(実際の更新はされません)。
sudo certbot renew --dry-run
🚩 SSL証明書の自動更新設定
Let's Encryptの証明書は90日ごとに期限切れになります。自動更新を設定します。
sudo crontab -e
以下を追記します。
# 毎週月曜日 午前2:00 Docker停止
0 2 * * 1 /usr/bin/docker compose -f ~/QiitaProject/zoraxy/docker/docker-compose.yml down
# 毎週月曜日 午前2:30 SSL証明書更新
30 2 * * 1 /usr/bin/certbot renew --quiet
# 毎週月曜日 午前3:00 Docker起動
0 3 * * 1 /usr/bin/docker compose -f ~/QiitaProject/zoraxy/docker/docker-compose.yml up -d
毎週月曜日の午前2時半に証明書が更新されます。
更新に伴い、午前2時から午前3時までの間はDockerを停止します。
🚩 運用時に役立つ機能紹介
運用をスムーズにする機能を紹介します。
アクセスログ確認
不正アクセスや問題の早期発見に役立ちます。
cd ~/QiitaProject/zoraxy/docker/zoraxy-data/log
less access.log
less
の基本操作:
- スペース:次ページ
- b:前ページ
- q:終了
リソース使用状況確認
Dockerコンテナの使用状況をリアルタイムで監視します。
docker stats zoraxy
🎉 最後に
これでZoraxyによるリバースプロキシの運用管理方法を一通り学びました。安定した運用を目指して、ぜひご活用ください!
ご質問や疑問点があれば、コメント欄でお気軽にご相談ください!