Nginx 宝塔面板禁止 IP 访问 80/443 端口

宝塔服务器管理是目前市面上非常流行的 Linux 系统管理应用,可视化操作深受个人站长们的喜爱,但宝塔管理系统并不是无可挑剔的,最近因为申请 IP SSL 加密证书,无意中发现个对优化很不友好的问题,就简单用这篇文章来说明一下,希望对那些没有重视 IP 访问的站长有所帮助 。
问题分析宝塔管理界面默认是可以通过 IP 地址的 80 和 443 端口访问页面的,有时候很多人也都会把默认的 default_server 删除掉,删除后默认访问的就是主站的目录,一旦 IP 可以访问网站就会导致搜索引擎收录,使网站权重发生变化,也会把网站公网 IP 暴露出来,导致网站存在不安全因素,比如:恶意解析 。
解决方法方法一:1、此解决方法是没有删除默认的 default_server 时使用(判断方法为:通过 IP 访问时看到的是宝塔 Nginx 的默认根目录 index.html 文件),不需要新建站点,也没必要新建站点,使用 SFTP 或 FTP 打开以下文件,路径如下:
/www/server/panel/vhost/nginx/0.default.conf【Nginx 宝塔面板禁止 IP 访问 80/443 端口】2、修改 default.conf 文件,此文件就是宝塔面板默认站点的 nginx 规则,这里我们把之前的 nginx 规则删除,重新写入以下规则,如下:
server{
listen80default;
listen443default_server;
server_name_;
ssl_certificate/www/server/panel/ssl/certificate.pem;
ssl_certificate_key/www/server/panel/ssl/privateKey.pem;
ssl_session_timeout5m;
ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocolsTLSv1.1TLSv1.2TLSv1.3;
ssl_prefer_server_cipherson;
return444;
}方法二:1、此解决方法是删除了默认的 default_server 时使用(判断方法为:通过 IP 访问时看到的是绑定域名的网站首页),需要在宝塔后台网站管理页面新建站点,域名填写网站 IP 地址,如下图:

Nginx 宝塔面板禁止 IP 访问 80/443 端口

文章插图
2、新建网站站点完成后,在新站站点的设置内找到“配置文件”,将 return 444 添加到 server 规则内,如下:
server{
listen80;
listen443sslhttp2;
server_name114.*.*.*;
...
return444;//要添加的内容
...
indexindex.phpindex.htmlindex.htmdefault.phpdefault.htmdefault.html;
}最后说明此方法不影响使用IP+端口访问宝塔管理后台界面,只是禁止了通过 IP 访问 80/443 端口,return 是返回的 444 响应,你也可以修改成 502、503、404 等其他的错误响应 。