宝塔面板Nginx禁止直接通过IP地址访问网站(80/443等端口)只允许使用域名打开网址设置教程

为了防止被恶意解析,我们通常需要禁止通过ip地址直接访问网站。在宝塔环境下,如果网站没有使用SSL(https),我们只需要在宝塔默认站点设置里,选择”未设置默认站点”就行了。

如果我们的网站启用了SSL,想要禁止利用ip直接打开网站则要麻烦许多。网上很多教程都是需要新建一个不常用的站点来实现,其实是没有必要的。Nginx的根目录一般就是html文件夹,相当于已经有一个站点了。

具体步骤如下:

宝塔面板”文件”根目录搜索”0.default.conf”文件,注意勾选”包含子目录”,”0.default.conf”的文件路径如下。

/www/server/panel/vhost/nginx/0.default.conf

这个文件是宝塔面板默认站点的nginx规则,我们把之前的内容删除,写入以下代码:

server 
{
listen 80 default;
listen 443 default_server;
server_name _;
return 444;
ssl_certificate /www/server/panel/vhost/cert/www.1itao.com/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/www.1itao.com/privkey.pem;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
ssl_session_timeout 10m; 
ssl_prefer_server_ciphers on;
}

第3行是监听80端口,第4行是监听443端口,第6行return返回444响应就可以了,不想返回444,也可以改成502或404等其他错误提示;

另外,监听443端口需要有ssl证书,证书路径请填写至第7、8行,理论上宝塔文件中存在的任意pem路径都可以,比如上边的路径大家也可以替换成以下两个:

/www/server/panel/ssl/certificate.pem;
/www/server/panel/ssl/privateKey.pem;

PS,上述路径中”www.1itao.com”注意替换成您自己的域名网址!

0
没有账号?注册  忘记密码?