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

Nginx本地多项目配置异常排查:站点跳转HTTPS后无法访问

解决Nginx多站点配置的两个问题:localhost跳转与HTTPS重定向失败

首先,咱们拆解你遇到的两个核心问题,逐个给出解决方案:

1. 访问localhost自动跳转到site1.dev

这是Nginx的默认行为:当请求的域名没有匹配到任何server_name时,Nginx会把请求交给第一个加载的server块处理。你的两个server块都没有指定default_server标识,所以localhost请求就落到了第一个site1.dev的配置上。

解决方法选其一即可:

  • 给指定站点设置默认server:在你想作为默认请求目标的server块的listen指令后添加default_server。比如如果想让localhost单独处理,可以新建一个专属server块:
server {
    listen 80 default_server;
    listen [::]:80 default_server;
    server_name localhost;
    root /var/www/localhost/html; # 可替换为你给localhost准备的目录
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }
    # PHP、.ht相关配置按需复制添加
}
  • 调整server块加载顺序:把你不想作为默认的server块配置文件重命名为更靠前的名称(比如Nginx通常按文件名字母顺序加载/etc/nginx/sites-enabled/下的配置),但这种方法不如设置default_server可靠。

2. 访问site1.dev跳转到HTTPS且无法访问

这个问题大概率是浏览器缓存了HTTPS重定向规则,或者存在隐性的重定向配置:

  • 先排查浏览器缓存:用隐私/无痕窗口访问site1.dev,如果能正常打开,说明是浏览器记住了之前的HSTS(HTTP严格传输安全)头或301重定向缓存。此时你可以手动清除该域名的缓存,或者等待HSTS规则过期(通常为几天)。
  • 检查Nginx配置中的重定向规则:仔细核对你的两个server块、Nginx主配置文件(如nginx.conf)以及引用的配置片段(如snippets/下的文件),有没有类似return 301 https://$server_name$request_uri;的语句。如果有两种选择:
    • 暂时注释掉该语句,关闭HTTPS重定向;
    • 补全HTTPS的server块配置(需先生成自签证书用于测试):
# 示例HTTPS server配置
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name site1.dev;

    ssl_certificate /path/to/your/cert.pem; # 替换为你的证书路径
    ssl_certificate_key /path/to/your/key.pem; # 替换为你的密钥路径

    root /var/www/site1.dev/html;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}
  • 确认hosts配置正确性:虽然ping能通,但再检查下/etc/hosts文件,确保包含127.0.0.1 site1.dev site2.dev和::1 site1.dev site2.dev的条目,避免IPv6解析异常。

最后,修改完配置后务必执行sudo nginx -t检查语法,确认无误后重启Nginx:sudo systemctl restart nginx。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:48:32