Nginx中禁止使用IP访问网站的配置实例
程序员文章站
2022-06-20 21:08:01
国内因为备案的原因,所有服务器都要禁止使用ip访问网站。否则,如果允许使用ip访问网站,那随便解析一个域名到该ip,访问该域名就可以打开网站了。这是一个极大的风险!ngin...
国内因为备案的原因,所有服务器都要禁止使用ip访问网站。否则,如果允许使用ip访问网站,那随便解析一个域名到该ip,访问该域名就可以打开网站了。这是一个极大的风险!nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下。
国内因为备案的原因,所有服务器都要禁止使用ip访问网站。否则,如果允许使用ip访问网站,那随便解析一个域名到该ip,访问该域名就可以打开网站了。这是一个极大的风险!nginx中可以很方便的来解决这个问题,小菜鸟来跟大家一起探讨一下。
如下的配置项,可以设置允许使用ip访问网站。
复制代码 代码如下:
server {
listen 80;
server_name "";
}
这里相当于是绑定了一个空的主机头,于是任意主机头,只要是指向这个ip的都可以打开网站了。
如果需要nginx禁止使用ip访问网站,可以定义如下主机,丢弃这些请求:
复制代码 代码如下:
server {
listen 80;
server_name "";
return 444;
}
listen 80;
server_name "";
return 444;
}
在这里,我们设置主机名为空字符串以匹配未定义“host”头的请求,而且返回了一个nginx特有的,非http标准的返回码444,它可以用来关闭连接。
从0.8.48版本开始,这已成为主机名的默认设置,所以可以省略server_name "",即如下的配置即可:
复制代码 代码如下:
server {
listen 80;
return 444;
}
listen 80;
return 444;
}
上一篇: nginx基于tcp做负载均衡的方法
下一篇: nginx日志配置指令详解