必须完成域名绑定与ssl证书配置:先确保域名a记录解析至服务器ip且443端口开放,再通过nginx反向代理加载证书实现https终止,并更新dify后台base url为https地址。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让Dify通过你自己的域名(如 dify.example.com)在公网安全访问,必须完成自定义域名绑定与SSL证书配置两个动作:先确保域名A记录已解析到服务器IP并开放443端口,再将证书文件挂载进Dify容器或交由反向代理(如Nginx)处理HTTPS终止。
确认域名与网络前置条件
登录你的域名服务商控制台,为准备使用的域名(例如 dify.example.com)添加一条A记录,指向你部署Dify的服务器公网IP。DNS生效可能需要几分钟到几小时,可用 ping dify.example.com 验证是否返回正确IP。
登录服务器终端,执行 sudo ufw status 或 sudo iptables -L -n | grep 443,确认443端口处于开放状态;若被拦截,运行 sudo ufw allow 443 开放。
【域名未正确解析或443端口关闭时,后续所有SSL操作均无法生效】
获取并准备SSL证书文件
方法一:使用Let’s Encrypt自动签发(推荐用于公网可访问域名)
在服务器上安装certbot:sudo apt install certbot python3-certbot-nginx(Ubuntu/Debian)或 sudo yum install certbot python3-certbot-nginx(CentOS/RHEL)。
执行命令申请证书:sudo certbot certonly --standalone -d dify.example.com。该命令会临时启用80端口完成HTTP验证,要求此时80端口未被占用且域名已解析生效。
证书生成后,默认存于 /etc/letsencrypt/live/dify.example.com/fullchain.pem(证书链)和 /etc/letsencrypt/live/dify.example.com/privkey.pem(私钥)。这两份文件就是后续要用的核心凭证。
Dify 3.9.2更新重点增强系统安全性,引入 Chainguard 安全基础镜像并同步社区版 CVE 修复,同时优化 OpenSearch 向量存储兼容性、插件参数传输机制及 Helm 部署配置。新增工作流模型节点缓存能力,可减少重复凭证查询,显著提升复杂工作流初始化速度,为企业级 AI 应用提供更稳定、高效的运行体验。
方法二:手动准备自签名证书(仅限测试环境)
执行三行命令生成测试用证书:openssl genrsa -out dify.key 2048 → openssl req -new -key dify.key -out dify.csr → openssl x509 -req -days 365 -in dify.csr -signkey dify.key -out dify.crt。
注意:浏览器会直接拦截自签名证书,显示“您的连接不是私密连接”,不可用于生产环境对外服务。
将证书接入Dify服务
第一步:确认Dify当前部署方式
若你使用宝塔面板Docker应用商店一键部署Dify,则【Dify容器本身不直接处理SSL,必须依赖外部反向代理】;若你手动用docker run启动,也强烈建议加一层Nginx,而非修改Dify源码或强制容器监听443。
第二步:配置Nginx反向代理(以Ubuntu + Nginx为例)
创建站点配置文件:sudo nano /etc/nginx/conf.d/dify.example.com.conf,写入以下内容:
server {
listen 443 ssl http2;
server_name dify.example.com;
ssl_certificate /etc/letsencrypt/live/dify.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dify.example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
第三步:启用配置并重载Nginx
执行 sudo nginx -t 检查语法无误后,运行 sudo systemctl reload nginx 生效。
第四步:更新Dify后台Base URL
用浏览器访问 https://dify.example.com 登录后台 → 进入【Settings】→ 【Domain】→ 将 Base URL 改为 https://dify.example.com,保存。这一步防止前端资源加载混用HTTP链接导致混合内容警告。










