【完全ガイド】DifyをHTTPS化する手順(Docker構成)

【完全ガイド】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証明書で、安全な通信が実現できます。


ご質問があれば、コメント欄などでお気軽にお知らせください。
この記事が参考になれば、ぜひシェアやブックマークをお願いします!


目次