docker下安装好dify之后,默认的80端口号跟别的项目有冲突,需要修改端口号,怎么修改

修改 Dify 的默认端口(如从 80 改为 8081),不能只改一处,需要同时调整 端口映射前后端通信地址,否则即使页面能打开,API 请求和登录功能也会出问题。


修改步骤

1. 进入 Dify 部署目录
cd dify/docker   # 进入你的 Dify Docker 部署目录
2. 编辑 .env 文件,修改端口映射
vim .env

找到以下配置项并修改:

# 将默认的 80 改为你想要的新端口,例如 8081
EXPOSE_NGINX_PORT=8081

# 如果暂时不用 HTTPS,建议先关闭强制跳转,避免调试时被重定向
NGINX_HTTPS_ENABLED=false
3. 配置前端 API 通信地址(关键!)

很多人改完端口后发现登录失败或接口报错,就是因为前端不知道后端已经换了“门牌号”。需要将以下四个 URL 变量改为完整的访问地址(必须包含协议、IP/域名和新端口):

# 假设你的服务器 IP 是 192.168.1.100,新端口是 8081
CONSOLE_API_URL=http://192.168.1.100:8081
CONSOLE_WEB_URL=http://192.168.1.100:8081
SERVICE_API_URL=http://192.168.1.100:8081
APP_WEB_URL=http://192.168.1.100:8081

💡 说明

  • 本地测试可直接使用 ​​http://localhost:8081​
  • 如果部署在云服务器上,IP 换成服务器的公网 IP
  • 这些地址会影响 OAuth 回调、邀请链接生成等,务必准确填写
4. 重启 Dify 服务使配置生效
docker compose down    # 停止并移除容器
docker compose up -d   # 重新创建并后台启动

等待 1-2 分钟,待所有容器初始化完成。

5. 验证访问

打开浏览器访问 ​​http://你的服务器IP:8081​​,应该能看到 Dify 登录页面。


修改检查清单 ✅

检查项

预期结果

容器状态

​docker compose ps​​​ 显示所有服务为 ​​Up​

端口监听

​netstat -tulpn | grep 8081​​ 能看到 Docker 代理在监听

API 健康检查

​curl http://localhost:8081/health​​​ 返回 ​​{"status": "ok"}​

页面访问

浏览器打开 ​​http://IP:8081​​ 显示 Dify 界面

登录功能

能正常登录,无跨域或 301 重定向错误


常见问题

Q:改了端口还是访问不了?
检查防火墙是否放行了新端口:​​sudo ufw allow 8081/tcp​​(Ubuntu)或云服务器安全组规则。

Q:登录时跳转到 http://localhost​ 然后失败?
说明 ​​CONSOLE_API_URL​​ 或 ​​APP_WEB_URL​​ 没有正确配置带端口的地址,重新编辑 ​​.env​​ 并重启。

Q:HTTPS 跳转导致访问失败?
确认 ​​.env​​ 中 ​​NGINX_HTTPS_ENABLED=false​​,等调试稳定后再配置证书。

Q:修改后插件下载超时?
可考虑配置国内 pip 镜像:

PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple
PLUGIN_PYTHON_ENV_INIT_TIMEOUT=360
PLUGIN_MAX_EXECUTION_TIMEOUT=1800

然后重启。


修改完成后,建议先用无痕模式或清除浏览器缓存测试,确保新端口下所有功能正常。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐