本文描述了如何升級的完整步驟 Dify(社區版) 通過騰訊雲從原IP安裝到 域名訪問並啟用HTTPS .
對於使用Docker環境部署的Dify實例。
1.背景描述
默認情況下,通過官方腳本或Docker安裝的Dify只能通過伺服器IP登錄,例如:
http://123.45.67.89
為了實現更專業、更安全的外部訪問,我們希望實現:
- 使用自定義域名訪問(例如& nbsp;
ai.mydify.cn); - 啟用HTTPS加密(使用外部頒發的SSL證書或自動頒發的Let ' s Protect)。
2.環境和先決條件
- 騰訊雲伺服器(或其他雲主機)
Docker、Docker Compose已安裝。 - Dify通過Docker運行良好
可通過IP訪問(例如http://your-server-ip. ). - 域名解析生效
在域名服務提供商(騰訊雲、阿里雲等)中,將域名A記錄指向伺服器的公共IP位址。
示例:ai.mydify.cn → 123.45.67.89 - SSL證書文件已準備好
fullchain.pem(or.crt)privkey.pem(or.key)
3.準備證書文件
假設我們將外部頒發的證書文件放在伺服器上:
/等等/ssl/certs/fullchain.pem
/等/ssl/certs/privkey.pem
如果你是
.crtin +.key格式,只需重命名為上述兩個文件即可。
4.將證書目錄裝載到nginx容器
Dify部署通常包括 nginx 容器作為反向代理。
我們只需要將證書目錄裝入其中即可。
方法1:Docker運行模式
如果您的nginx使用命令運行:
docker run -D
--名字nginx
-p 80:80
-p 443:443
-v /root/certs:/等/nginx/certs:ro
-v /root/nginx/inf.d:/etch/nginx/inf.d
nginx:最新
方法2:docker-compose模式(推薦)
docker-compose.yml編輯:
服務:
nginx:
圖片:nginx:最新
重新啟動:總是
港口:
- 「80:80」
- 「443:443」
卷:
- /root/certs:/等等/nginx/certs:ro
- ./ nginx/inf.d:/et/nginx/inf.d
:ro指示只讀安裝,以防止容器意外修改證書。
#39;5。配置nginx支持HTTPS
編輯nginx配置文件 /root/nginx/inf.d/ai.mydify.cn. inf:
# HTTP 自動跳轉到 HTTPS
伺服器{
listen 80;
伺服器名稱ai.mydify.cn;
返回301 https://$Host$請求_uri;
}
# HTTPS 反向代理 Dify
伺服器{
聽443 ssl;
伺服器名稱ai.mydify.cn;
ssl_certification/etch/nginx/certs/fullchain.pem;
ssl_certification_key /et/nginx/certs/privkey.pem;
ssl_service_ache共享:SSL:10 m;
ssl_service_timeout 10 m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!a空:!MD5;
地點/ {
代理_通行證http://docker-web-1:3000; # Dify Web 伺服器名稱或 IP
proxy_set_header主機$host;
代理設置頭X-Real-IP $remote_addr;
pro_set_header X-Forwarded-For $pro_add_x_forwarded_for;
pro_set_header X-Forwarded-Proto $scheme;
}
}
您可以檢查Dify的Web容器的名稱(通常)
docker-web-1通過Docker PS.
6.測試並重啟nginx
轉到nginx容器驗證配置:
docker exec -it docker-nginx-1 nginx -t
外觀:
nginx:配置文件/等等/nginx/nginx. inf測試成功
表明配置正確。
然後重新加載:
docker exec -it docker-nginx-1 nginx -s重新加載
7.訪問驗證
在瀏覽器中打開:
https://ai.mydify.cn
如果您可以正常訪問Dify頁面並顯示Inbox圖標,則意味著已啟用HTTPS!
8.(可選)證書自動更新
如果證書是由Let ' s Protect頒發的,您可以在主機上設置自動續訂任務:
crontab -e
添加:
0 3 * certbot更新--安靜的docker exec docker-nginx-1 nginx -s reloading
2009年。常見問題
| 問題 | 解決方法 |
|---|---|
| 瀏覽器顯示不安全 | ssl_證書 檢查路徑是否正確安裝到容器 |
| 訪問仍跳轉到IP | 確認Dify的環境變量為 APP_URL 更新為域名 |
Nginx錯誤 無法加載證書 | 如果證書路徑錯誤或文件權限不足,請檢查 /root/certs |
10.總結
完成上述步驟後,您的Dify將擁有以下內容:
- 獨家域名訪問(ai.mydify.cn)
- HTTPS安全加密
- 自動跳轉和反向代理
這不僅更安全,而且還方便了後續訪問外部系統(例如,webhooks、OAuth登錄等)。
請參閱命令快速檢查:
| 操作 | 秩序 |
|---|---|
| 查看容器列表 | Docker PS |
| 轉到nginx容器 | docker exec -it docker-nginx-1 bash |
| 測試配置 | nginx -t |
| 超載nginx | nginx -s重新加載 |
管材: