Nginx禁止IP直接访问、防止域名恶意解析、源IP扫描SSL泄露
默认情况下,只要将域名解析到服务器的IP上,访问该域名就会访问到lnmp默认虚拟主机的默认页面。
关于http
为了防止别人恶意将域名解析到自己的IP上,可以通过以下方法进行,修改/usr/local/openresty/nginx/conf/nginx.conf
(具体看nginx配置文件存放位置),将里面的默认的虚拟主机server{}段修改为如下即可:
server {
listen 80 default_server;
server_name _;
return 444;
}
当然也可以将return 444;
替换为rewrite ^(.*) https://cimen.club permanent;
将流量导入到你指定的网站上。
最后nginx -s reload
重载配置。
Ps:使用空主机头后,原默认虚拟主机下的文件,如phpmyadmin将无法访问,需要加个二级域名指向phpmyadmin目录就可。
以上搬运自:https://bbs.vpser.net/thread-1794-1-1.html
关于https
如果你站点配置了ssl,那么可以尝试访问访问 https://你的建站机器ip
,会发现它会跳转到你的站点上。大部分源ip泄露也是这个原因,他们可以通过这种方式,比如简单的curl请求,就看到当前ip下的一些ssl证书所绑定的域名信息。
解决方式很简单,配置个自签证书,返回444或者其它一些状态码关闭连接、禁止访问就行了。
可以在上面的配置中,你可以加入listen 443 ssl default_server;
,然后随便配置一个自签的ssl证书,当然其它的ssl证书也可以,只要不是和你站点相同的。最终配置大概是这个样子的,可以参看一下:
server
{
listen 80 default_server reuseport;
#listen [::]:80 default_server ipv6only=on;
listen 443 ssl default_server;
#listen [::]:443 ssl default_server ipv6only=on;
ssl_certificate /usr/local/openresty/nginx/conf/ssl/abc.cer;
ssl_certificate_key /usr/local/openresty/nginx/conf/ssl/abc.key;
server_name _;
return 444;
#……
#……
}
最后使用 nginx -s reload
重载配置。然后你去访问 https://你的ip
会发现不再跳转到你的站点上了。
可以一定程度上保护源IP不被泄露。当然,前提条件很多,比如CDN、反代源站机、源站的ssl申请等。
阅读剩余
版权声明:
作者:觉
链接:https://cimen.club/85.html
文章版权归作者所有,未经允许请勿转载。
THE END