默认 Nginx 配置破坏了其他配置

默认 Nginx 配置破坏了其他配置

我在 /etc/nginx/nginx.conf 中有一个默认的 nginx 配置

我的 /etc/nginx/sites-available/default

server { listen 80 default_server; # add 443 / SSL if you like server_name _; # I tried without this line too return 404;
}

我的 /etc/nginx/sites-available/site.tld

server {
    listen 80;
    root /var/www/html/directory;
    index index.php index.html index.htm index.nginx-debian.html;
    set $vname site.tld;
    server_name $vname www.$vname;

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

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

    location ~ /\.ht {
            deny all;
    }

}

网站运行正常,但问题是我也可以直接从 IP 访问,这是我不想要的。

当我运行命令时sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/

我访问网站时出现 404 错误,并且直接访问 IP 也是这样。

PS:这是我在 StackOverflow/ServerFault 上的第一个问题。

谢谢您的帮助,我已经尝试解决这个问题几个小时了。

相关内容