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

安装ERPNext后访问自定义域名出现404页面无法访问,该如何解决?

解决ERPNext自定义域名安装后404 Page Not Found问题

根据安装方式(Bench/Docker),分别按以下步骤排查:

一、Bench 安装环境排查

  • 验证站点域名配置
    进入bench目录,执行bench show-config查看当前站点的域名设置,确认自定义域名已在sites/{你的站点名}/site_config.json的domains数组中:

    {
      "domains": ["your-custom-domain.com"],
      // 其他配置项
    }
    

    若未添加,执行bench add-domain your-custom-domain.com --site {你的站点名},之后重启bench服务:bench restart

  • 检查Nginx站点配置
    Bench自动生成的Nginx配置文件位于/etc/nginx/sites-available/{你的站点名},打开后确认server_name字段包含你的自定义域名:

    server_name your-custom-domain.com;
    

    修改后执行sudo nginx -t校验配置合法性,无问题则重启Nginx:sudo systemctl restart nginx

  • 确认域名解析生效
    用ping your-custom-domain.com或nslookup your-custom-domain.com检查域名是否指向服务器IP,刷新本地DNS缓存:Windows执行ipconfig /flushdns,Linux执行sudo systemd-resolve --flush-caches

  • 检查Bench服务状态
    执行bench status确认frappe-web、socketio、redis等服务均处于running状态,异常服务可单独重启,比如bench restart frappe-web

二、Docker 安装环境排查

  • 检查容器配置与端口映射
    查看docker-compose.yml中erpnext服务的环境变量SITE_NAME是否设为自定义域名,同时确认80/443端口已正确映射到宿主机:

    services:
      erpnext:
        environment:
          - SITE_NAME=your-custom-domain.com
        ports:
          - "80:80"
          - "443:443"
    

    修改后重启容器:docker-compose down && docker-compose up -d

  • 验证反向代理配置(若使用)
    若用外部Nginx/Caddy做反向代理,确保配置中proxy_pass指向容器端口(如http://localhost:80),server_name设为自定义域名,且添加必要请求头:

    server {
      listen 80;
      server_name your-custom-domain.com;
    
      location / {
        proxy_pass http://localhost:80;
        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 restart nginx

  • 检查容器内站点配置
    进入ERPNext容器:docker exec -it {容器名} bash,查看/home/frappe/frappe-bench/sites/{你的站点名}/site_config.json的domains字段,缺失则添加后重启容器。

三、通用排查要点

  • 清除浏览器缓存
    用Ctrl+F5强制刷新页面,或用隐私模式访问,避免旧缓存导致的404。
  • 检查防火墙与安全组
    确认服务器防火墙(ufw/iptables)和云服务商安全组已开放80、443端口,防止端口被拦截。
  • HTTPS证书校验
    若配置了SSL证书,确认证书有效且Nginx配置正确指向证书文件,证书问题可能导致HTTPS访问跳转404。
  • 确认站点安装完成
    Bench环境执行bench list查看站点状态,Docker环境查看容器日志docker logs {容器名},确保站点初始化无报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 21:52:52