見出し画像

【絶対に失敗しないDify】HTTPS接続の編

こんにちは、Dify公式アンバサダーのサンミンです。

0  はじめに

絶対に失敗しないDifyデプロイの手順に続け、今回は絶対に失敗しないDify第2弾、その名は「HTTPSの接続編」です。

Difyを本番環境で運用するためにはHTTPSの設定は必須。上記の動画で紹介している手順を参考にすれば、20分足らずでHTTPS経由でアクセスできるDifyのサーバーが構築できます。

※重要:動画はこちらのnoteを読み終えてから見ることをお勧めしたいです

1  Pre-requisite

①HTTPでアクセスできるDifyのサーバー
②Static IPアドレスの発行
③443ポートの設定
④ドメイン名の取得
⑤IPとドメイン名の紐付け
⑥Linuxのファイルが変更できること

①から③まではAWS Lightsailから設定できます。すべての設定が揃いますとドメイン名からHTTP経由でDifyへアクセスできるはずです。

動画の中では1:14の箇所でhttp://test.choimirai.comが「Not Secure」な状態でアクセスできています。

2  CertbotのインストールとSSLの発行

Difyがインストールされているサーバーにアクセスし、Dockerのコンテナを止めた上で、下記のコマンドを実行してください。

curl -fsSL https://gist.githubusercontent.com/gijigae/5db9f4aa1250ed5d627f138603cda6c3/raw/cccf1694511a8b3e21b6ac370630a56033565cf9/certbot.sh -o certbot.sh

sudo sh certbot.sh test.choimirai.com

SSL証明書を発行してもらう方法は多数ありますが、こちらでは無料の「Let's Encrypt」のサービスを利用します。

コマンドを実行しますと、letsencryptを使ってSSL証明書を発行するcertbotをインストールし、「test.choimirai.com」ドメインに対し証明書を発行してくれます。

※重要:test.choimirai.comの箇所はご自分のドメイン名に変更が必要です

証明書が発行される様子は動画の3:20の箇所から確認できます。

3  443ポートのプロセスを殺す😱

CertbotでSSLの証明書を発行しますと自動的にnginxのサーバーが443のポートで立ち上がります。この状態だと後で、DifyのDockerを起動させるとき怒られる。問題を解決するため、443のポートを利用しているプロセスを下記のコマンドで特定してください。

sudo lsof -i :443

プロセスのID(PID)が特定できましたら、次のコマンドで該当プロセスを殺してください😱😅。

sudo kill -9 pid

4  docker-compose.yamlの修正

dockerのディレクトリにある「docker-compose.yaml」ファイルでは2箇所の修正が必要です。

① "- /etc/letsencrypt:/etc/letsencrypt" をnginxのボリューム*としてマウント

※ボリュームとは、データを永続化できる場所のこと

②443のポート(HTTPS)からアクセスできるよう - "443:443" 行の先頭にあった「#」を削除

こちらの操作は動画の5:05から確認できます。

5  conf.d/default.confファイルの変更

docker/nginx/conf.d/default.confファイルにはすでにHTTPS設定に必要な項目が表示されています。コメントされている箇所の先頭にある「#」を削除し、letsencryptの証明書とPrivate Keyをコピーすれば終了です。下記が修正後の一例です。「test.choimirai.com」をご自分のドメイン名に変更してください。

※重要:「test.choimirai.com」をご自分のドメイン名に変更

# If you want to support HTTPS, please uncomment the code snippet below
listen 443 ssl;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_certificate /etc/letsencrypt/live/test.choimirai.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/test.choimirai.com/privkey.pem;

これで修正は完了です。おめでとうございます。

6  Dockerコンテナを立ち上げる

あと残っているのはDockerのコンテナを立ち上げるのみ。

sudo docker compose up -d

すべてのコンテナが正常に起動しましたら、HTTPSからDifyのサーバーへアクセスできます。

一連の流れはこちらの動画を参考にしてください。

7  Dify 101の宣伝:絶対失敗しないDifyの使い方を身につける

Dify 101は、Difyの公式アンバサダーと一緒にDifyの基礎から始め、RAGの実装やクラウドでのデプロイまで体験できるプログラムです。

Difyは今後、動詞のように使われるほど普及されていくと思っています。未来で待っている自分のため、始めませんか?

8  まとめ

Linuxファイルを操作した経験がある方であれば20分足らずでHTTPSの設定が終わる。HTTPSのサーバーが構築できれば本番環境へのリリースにも一歩近づくかと思います。ぜひチャレンジしてみてください。あと、Linuxの操作に慣れますとDifyをカスタマイズする時も大変役立ちますので、超オススメです。

設定の中で何かご不明な点などがあれば、Xで「#Dify部」のタグをつけて教えてください。

この記事が気に入ったらサポートをしてみませんか?