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

Nginx反向代理下HTTP协议WWW域名请求返回404故障排查

问题根因

你的定位完全准确,故障出在80端口监听的server块逻辑:Certbot自动生成的配置仅对partyshare.shop的HTTP请求配置了HTTPS 301跳转,www.partyshare.shop的HTTP请求无法匹配现有if判断条件,会直接命中块末尾的return 404规则,因此返回404错误。
你之前自行添加if规则后出现的SSL证书异常、HTTP标识标红问题,基本是if写法不符合Nginx语法、或误修改了443块的证书/跳转逻辑导致的,不需要通过堆叠if规则实现需求,直接简化80块逻辑即可。

修复配置

直接将你现有配置中80端口对应的server块整体替换为以下内容,不需要改动443端口的现有正常配置:

server {
    listen 80;
    listen [::]:80;
    server_name partyshare.shop www.partyshare.shop;

    # 所有HTTP请求直接跳转至对应HTTPS地址,自动适配请求的域名
    return 301 https://$host$request_uri;
}

如果你需要做域名统一(比如强制所有访问都跳转到根域,或强制跳www域),可以把跳转规则改为固定域名,例如强制跳根域就写为return 301 https://partyshare.shop$request_uri;,不需要额外加判断逻辑。

生效步骤
  • 先备份当前Nginx配置文件,避免配置错误无法快速回滚
  • 替换完成后执行配置校验命令:nginx -t,确认返回syntax is ok和test is successful提示
  • 校验通过后执行重载命令让配置生效:systemctl reload nginx

修复完成后访问http://www.partyshare.shop就会正常跳转到HTTPS地址,不会再返回404,原有正常访问的地址也不会受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 05:21:24