当我们 在一个服务器上部署多个网站的时候,需要设置多个servername绑定,而且有时候需要泛域名解析,这时候如果有些用户如果把泛解析的二级域名写错了可能访问不到他应该访问的页面;或是用服务器IP地址直接访问的时候也是默认显示一个网站,这时候他就默认打开nginx分配的默认页面,我们一般要求用户访问不到目的页面的时候需要制定一个页面提示他,所以有了这篇文章的需求。

在现有nginx配置文件或自己在nginx的conf.d目录新建一个default.conf填入如下代码。

server {
        listen       80 default;
        server_name  localhost ;
        location / {
            root   /home/default; # 默认页面路径,需要静态文件。
            index  index.html index.htm;
            autoindex  on;
        }
}
# https访问的时候,443端口默认配置
server {
    listen 443 ssl http2 default;
    server_name  www.cloud.com;
    index  index.html index.htm index.php;

    ssl_certificate  /root/.acme.sh/www.cloud.com/fullchain.cer;
    ssl_certificate_key  /root/.acme.sh/www.cloud.com/www.cloud.com.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
    location / {
        root   /home/default;
        index  index.html index.htm;
        autoindex  on;
    }
}

1、https证书参考文章利用acme.sh生成免费htts证书

2、若要默认页面跳转指定网站请参考文章:Nginx 301重定向转发页面

最后修改日期: 2022年3月6日

作者