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

Nginx通过IP+端口可正常访问 使用域名访问返回404错误如何解决

Nginx域名访问返回404问题排查指南

核心可能原因

  • 访问域名时未携带对应端口:当前配置中Nginx监听的是1337端口,直接输入域名访问默认会请求80端口,若80端口未配置对应域名的服务规则,Nginx会匹配默认站点返回404,这是最高概率触发问题的原因。
  • 配置未生效:修改Nginx配置后未执行重载操作,新规则没有被加载。
  • 多站点配置冲突:同一监听端口下存在优先级更高的同名server块,或者默认server块的根目录配置错误。
  • 域名匹配异常:配置中server_name字段填写的域名和实际访问的域名拼写不一致。
  • 解析异常:域名实际未解析到目标服务器IP,或存在本地hosts覆盖、CDN代理等情况导致请求落到其他服务器。

分步排查方案

  1. 验证端口匹配情况
    直接访问http://a.b.com:1337,如果可以正常打开站点,即可确认是端口问题。
    解决方法二选一:
  • 日常访问时域名后固定携带:1337后缀
  • 修改配置将监听端口改为80(HTTP默认端口),后续访问不需要加端口,配置示例如下:
server {
 server_name a.b.com;
 listen 80;
 listen [::]:80;

 root /var/www/a.b.com/src;
 index index.html index.htm;

 location / {
     try_files $uri $uri/ =404;
  }
}
  1. 验证配置有效性
    执行命令nginx -t检查配置语法是否正确,确认返回success后执行nginx -s reload重载Nginx配置。
  2. 排查配置冲突
    执行命令nginx -T(大写T)查看所有已加载的Nginx配置,核对监听对应端口的server块是否存在冲突,是否有默认server块的根路径配置错误。
  3. 验证域名解析
    本地执行ping a.b.com或nslookup a.b.com,核对返回的IP地址是否和你的服务器公网IP一致。
  4. 日志排查
    查看Nginx访问日志和错误日志(默认路径为/var/log/nginx/access.log、/var/log/nginx/error.log),确认域名访问的请求匹配到了哪个server块、请求的资源路径是否正确,即可定位根因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:27:02