正文:
如何禁止 ip 直接访问网站,通过 ip+端口访问该网站将无法看到内容,有效防止恶意解析。
下面的教程是在宝塔环境中实现的,它可以在没有宝塔的情况下实现。使用Nginx网站环境。
先说原理:简单来说就是设置一个默认网站,当访问名不匹配时返回默认网站内容。一般来说,Nginx 自带一个默认的静态网站,默认的网站目录绑定在 Nginx 安装目录下的html文件夹中。如果你在这里使用宝塔,你不会谈论太多其他环境。
用过 Nginx 的站长应该都见过这样的配置。
listen 80;
server_name daimadog.com;
其中,server_name 是用户访问时的服务名称。如果我们将此名称更改为 ip 地址,它将只能通过 ip 访问,其他名称将无法匹配。
所以我们可以修改 Nginx 的默认网站配置文件来监听以 server_name 作为我们二进制地址的 ip 地址,这样用户就会通过 ip 地址访问进入我们设置的默认网站。当然,你也可以通过 Nginx 配置直接将错误码返回给他。
如果您的网站启用了 ssl 证书,您需要侦听端口 443。请参考以下内容进行配置:
server
{
listen 80;
listen 443 ssl;
server_name _;
# DEFAULT SSL CONFIG
ssl_certificate /www/server/panel/vhost/cert/0.default/fullchain.pem;
ssl_certificate_key /www/server/panel/vhost/cert/0.default/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";
index index.html;
root /www/server/nginx/html;
}
只要拿一个证书,错的也行。
如果您使用的是 pagoda,可以直接复制上面的代码,然后覆盖文件 /www/server/panel/vhost/nginx/0.default.conf
.如果您使用的 pagoda 版本支持 https 防窜站的设置,那么只需单击防窜站功能。
转载请注明:汇站网 » 如何有效网站禁止 ip 访问 防止恶意域名解析