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

Nginx Server Block配置异常求助:域名访问不符合预期

Hey,我来帮你排查这两个Nginx配置问题,咱们一步步来解决:

问题1:访问zrehan.com和infinity.com都打开infinity.com的首页

这是因为你只给infinity系列域名配置了Server Block,没有为zrehan.com单独定义对应的站点规则。Nginx的规则是:当收到请求的域名没有匹配到任何Server Block的server_name时,会自动用第一个加载的Server Block(或者默认配置)来处理请求。所以zrehan.com的请求就被分流到了infinity的站点里。

解决办法:

  • 如果你想让zrehan.com指向自己的独立站点,就在/etc/nginx/sites-available/default里新增一个Server Block:
server {
    listen 80;
    server_name zrehan.com;
    # 替换成zrehan站点的根目录
    root /path/to/your/zrehan/website;
    index index.html index.htm;
}
  • 要是暂时没有zrehan的站点内容,要么从hosts文件里去掉zrehan.com的映射,要么配置一个默认Server Block来处理未匹配的域名请求。

问题2:访问infinity.com时出现错误

我看了你的配置和操作,发现几个明显的问题:

  1. 索引指令写错了:你写的index.html index.htm缺少了关键的index关键字,正确的写法应该是index index.html index.htm;,不然Nginx找不到默认首页。
  2. 符号链接路径拼写错误:你执行的命令里把sites-available写成了sites-avaiable(少了一个l)!这会导致Nginx找不到你的配置文件,因为这个符号链接指向的是不存在的路径。
  3. 目录权限可能不足:Nginx进程通常以www-data用户运行,需要有权限访问你的站点根目录/home/zrehan/projects/infinityrollcordova/www/homeScreen。

解决步骤:

  1. 先修复Server Block里的索引配置:
server{
    listen 80;
    server_name infinity infinity.com www.infinity.com;
    location / {
        root /home/zrehan/projects/infinityrollcordova/www/homeScreen;
        index index.html index.htm;  # 加上index关键字
    }
}
  1. 修复错误的符号链接:
# 删除错误的链接
rm /etc/nginx/sites-enabled/default
# 创建正确的符号链接
ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
  1. 确保Nginx能访问站点目录:
# 给目录添加读取权限
chmod -R 755 /home/zrehan/projects/infinityrollcordova/www/homeScreen
# 可选:把目录所有者改成www-data(如果权限还是有问题的话)
chown -R www-data:www-data /home/zrehan/projects/infinityrollcordova/www/homeScreen
  1. 验证配置并重启Nginx:
# 检查配置语法是否正确
nginx -t
# 重启服务生效
systemctl restart nginx

做完这些,再访问两个域名应该就能正常工作了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:43:41