You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mailcow SOGO经Nginx Proxy Manager代理登录时出现502错误

SOGO登录502错误排查(Mailcow前置Nginx Proxy Manager场景)

1. 补全WebSocket转发配置

SOGO登录流程依赖WebSocket通信,Nginx Proxy Manager默认配置可能缺失相关转发规则,导致连接中断触发502:

  • 进入NPM对应SOGO的代理配置页,切换到高级标签
  • 添加以下Nginx自定义配置:
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 3600;
    proxy_send_timeout 3600;
    
  • 保存后重启代理服务,重新测试登录

2. 核对代理目标地址

确认NPM转发的是Mailcow内部SOGO容器的直连端口,而非Mailcow前端Nginx的对外端口:

  • 执行docker-compose ps sogo在Mailcow服务器上查看SOGO容器的映射端口(默认是20000)
  • NPM的代理目标需设为http://<Mailcow服务器IP>:20000,避免转发到Mailcow的80/443端口导致二次代理冲突

3. 确保请求头完整传递

部分身份验证相关请求头被截断会导致SOGO后端无法处理登录请求:

  • 在NPM代理的自定义配置中添加:
    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;
    
  • HTTPS场景下需确保X-Forwarded-Proto被正确设置为https,否则SOGO会生成错误的回调地址

4. 调整超时时间阈值

默认超时过短可能导致登录请求未完成就被中断:

  • NPM侧:在高级配置中添加proxy_connect_timeout 60s;
  • Mailcow侧:编辑data/conf/nginx/soogo.conf,将proxy_read_timeout修改为300,执行docker-compose restart nginx-mailcow重启容器

5. 验证网络连通性

确认NPM服务器能正常访问Mailcow的SOGO端口:

  • 在NPM服务器执行curl -I http://<Mailcow服务器IP>:20000/SOGo,检查返回状态码是否为200
  • 若不通,检查Mailcow服务器防火墙规则,确保20000端口对外开放,或确认两台服务器处于同一可连通的网络段

内容的提问来源于stack exchange,提问作者Gooseware

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 15:15:42