由于nginx的机制,当访问到未绑定配置域名时,会返回下一个网站的内容
例如你只配置了b.example.com,但是用户访问了a.example.com,此时,用户得到的不是404,而是会显示b.example.com的页面内容
为了解决这个问题,我们可以设置一个默认站点,所有未查询到配置的域名都显示为默认站点
我们新建一个default.conf
文件,内容如下
server {
listen 80 default_server;
listen 443 ssl default_server;
server_name _;
ssl_certificate /******/cert.pem;
ssl_certificate_key /******/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
location / {
root /www/wwwroot/default;
index index.html;
}
}
listen 80 default_server;
表示监听80端口并作为默认服务器;listen 443 default_server;
表示监听443端口并作为默认服务器;server_name _;
表示匹配任何域名或IP;location /
定义了默认站点的根目录和默认页面。
我推荐将默认页面设置为腾讯公益404
评论