【完全ガイド】DifyをHTTPS(SSL)対応にする手順【Docker構成】
こんにちは、PRODUCE WAVESの佐藤佑規です。
この記事では、DifyをHTTPS(SSL)対応にする方法を、Docker環境を使っている方向けにわかりやすく解説します。
目次
✅ 前提条件
- DifyをDockerで構築している
- 独自ドメインを取得済み(DNS設定済み)
- docker-compose が使用可能な環境
1. .envファイルの編集
まず /docker/.env
を以下のように編集します。
CERTBOT_EMAIL=あなたのメールアドレス
CERTBOT_DOMAIN=あなたの使用ドメイン
NGINX_SSL_CERT_FILENAME=fullchain.pem
NGINX_SSL_CERT_KEY_FILENAME=privkey.pem
NGINX_HTTPS_ENABLED=false
NGINX_ENABLE_CERTBOT_CHALLENGE=true
2. Nginx設定ファイルを編集
以下のファイルに、ACMEチャレンジ対応の設定を追加します。
/docker/nginx/conf.d/default.conf.template
追加内容は以下です。
server {
listen 80;
server_name _;
location /.well-known/acme-challenge/ {
root /var/www/html;
}
}
3. コンテナを一旦再起動
docker-compose down
docker-compose up -d --build
4. certbotでSSL証明書を取得
まずcertbotコンテナを起動します。
docker-compose --profile certbot up -d certbot
続いて、以下のコマンドで証明書を取得します。
docker-compose exec certbot certbot certonly \
--webroot -w /var/www/html \
-d 使用ドメイン \
-m 使用ドメインの所有者メールアドレス \
--agree-tos --no-eff-email
5. .envファイルを再度編集
証明書の取得が完了したら、.env
の以下を修正します。
NGINX_HTTPS_ENABLED=true
6. 最後に再度コンテナを再起動
docker-compose down
docker-compose up -d --build
🎉 完了!
これでDifyのHTTPS化は完了です!
Let’s Encryptの無料SSL証明書で、安全な通信が実現できます。
ご質問があれば、コメント欄などでお気軽にお知らせください。
この記事が参考になれば、ぜひシェアやブックマークをお願いします!