前言:在实际生产环境中经常会遇到一些不是自己的域名访问的内容与自己网站一样,检查域名没有绑定在服务器中,但域名是解析到自己服务器ip的,使用http和https可以访问自己的网站内容,这种情况是站点被恶意解析导致的,下面介绍Nginx环境下如何实现禁止ip访问达到禁止http和https被恶意解析的目的。
现象:域名不是自己的,站点没绑定这个域名,使用域名http或者https可以访问到自己站点内容。
原因:原因是因为服务器ip可以访问,即便没绑定这个域名,只要解析到服务器ip就会访问到第一个站点。
Apache禁止ip访问及恶意解析和防http窜站方法:https://blog.tag.gg/showinfo-6-36232-0.html
解决:本教程介绍两种解决方法
1、宝塔如何禁止恶意解析及https窜站
2、手动搭建的环境如何禁止ip被恶意解析及https窜站
宝塔如何禁止恶意解析及https窜站
将宝塔升级到最新版,然后参考如图设置即可。 设置后会在 /www/server/panel/vhost/nginx 目录下生成 0.default.conf 文件,在该文件中有如下代码
上面的默认证书可在这里下载,下载后请将规则中的路径改成自己的即可。server
{
listen 80;
listen 443 ssl;
server_name _;
index index.html;
return 403;
# 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";
}
打开conf下的nginx.conf文件,然后添加如下信息保存并重载nginx即可。
添加后如图。server
{
listen 80;
listen 443 ssl;
server_name _;
index index.html;
return 403;
# 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";
}
默认证书可在这里下载,下载后请将规则中的路径改成自己的即可。
文章评论 本文章有个评论