当前位置:论坛首页 > Linux面板 > 讨论

Nginx禁止直接通过IP地址访问网站以及限制IP登陆某目录

发表在 Linux面板2017-11-15 21:27 [复制链接] 4 9694

本帖最后由 1218764060 于 2017-11-15 21:32 编辑

各位宝塔兄弟们,晚上好,我是小博,我是第一次在宝塔论坛发关于小小技术性的帖子,这也是我自己经历的,废话不多说,直接入主题
网站备案,大家经历的,我也经历过,网站备案,都需要关闭站点备案,备案时间也比较长,这样一来对搜索引擎、其他地区访问者不太好风险也很大,也有的朋友也就是弄个空白页面,来忽悠备案专员,现在向大家介绍nginx中禁止使用IP访问网站的实例,现在分享给大家:




国内因为备案的原因,所有服务器都要禁止使用IP访问网站。否则,如果允许使用IP访问网站,那随便解析一个域名到该IP,访问该域名就可以打开网站了。这是一个极大的风险!Nginx中可以很方便的来解决这个问题,小博来跟大家一起探讨一下。
如下的配置项,可以设置允许使用IP访问网站。

  1. server {
  2.     listen       80;
  3.     server_name  "";
  4. }
复制代码
这里相当于绑定了一个空的主机头,于是任意主机头,只要是指向这个IP都是可以打开网站的,不过这样也可以把这些手机起来,导进到自己的网站当中,只需要做以下跳转设置就可以了:
  1. server {

  2. listen 80 default;
  3. rewrite ^(.*) http://www.abc.com;
  4. }
复制代码
如果需要nginx禁止使用IP访问网站的时候,可以定义如下,丢弃这些访问请求:
  1. server {
  2.     listen 80default;
  3.     server_name "";
  4.     return  444;
  5. }
复制代码
或者
  1. server {
  2. listen 80 default;
  3. server_name _;
  4. return 500;
  5. }
复制代码



在这里,我们设置的主机名为字符串以匹配未定义的“host”头的请求,并且返回了一个nginx特有的,并非HTTP标准被返回码444,它可以用来关闭连接,nginx从0.8版本之后,这已成为主机名默认的设置,所以可以省略“sever_name”,同时结合了:nginx环境下禁止ip访问(防恶意解析)教程https://www.bt.cn/bbs/thread-4693-1-1.html,我这里就直接弄下代码配置:
  1. server {
  2.     listen   80;
  3.     return   444;
  4. }
复制代码
限制某个IP登陆网站
  1. allow all;
  2. deny all;
复制代码
其中网段的写法是:192.168.1.0/24这样的形式。
  1. deny 192.168.1.11;
  2. deny 192.168.1.123;
  3. deny 10.0.1.0/24;
复制代码
要是想实现这样的应用,除了这几个IP外,其他的全部拒绝,那需要在IP.balcklist中这样写,然后再nginx的配置中nginx.conf中加入:include blocksip.conf; 或者直接在相应虚拟主机中填写:
  1. sever{
  2. allow 1.1.1.1;
  3. allow 1.1.1.2;
  4. allow 192.168.1.0/24;
  5. deny all;
  6. }
复制代码
如果是想实现这样的应用,禁止几个IP,其他通过:
  1. deny 1.1.1.1;
  2. deny 192.168.1.0/24;
  3. allow all;
复制代码
单独网站屏蔽IP的方法,在server"{}",在这个大括号内加入deny IP地址是限制某IP地址访问;allow IP地址是只允许某IP地址访问;
  1. #屏蔽单个IP的命令是
  2. deny 123.45.6.7
  3. #封整个段即从123.0.0.1到123.255.255.254的命令
  4. deny 123.0.0.0/8
  5. #封IP段即从123.45.0.1到123.45.255.254的命令
  6. deny 124.45.0.0/16
  7. #封IP段即从123.45.6.1到123.45.6.254的命令是
  8. deny 123.45.6.0/24
复制代码



第一次写有点不怎么全面,希望各位管理员以及大虾勿怪


使用道具 举报 只看该作者 回复
发表于 2017-12-29 13:41:19 | 显示全部楼层
QQ截图20171229133808.png
是这样填写吗?  弄了之后允许的ip还是不能访问啊

使用道具 举报 回复 支持 反对
发表于 2017-12-29 13:44:09 | 显示全部楼层
1500636907aplw 发表于 2017-12-29 13:41
是这样填写吗?  弄了之后允许的ip还是不能访问啊

默认是白名单  你这样弄的话 没必要啊
使用道具 举报 回复 支持 反对
发表于 2017-12-29 13:55:15 | 显示全部楼层
1218764060 发表于 2017-12-29 13:44
默认是白名单  你这样弄的话 没必要啊

那请问要怎么写啊?
使用道具 举报 回复 支持 反对
发表于 2017-12-29 14:00:19 | 显示全部楼层
1218764060 发表于 2017-12-29 13:44
默认是白名单  你这样弄的话 没必要啊

只允许两个ip,其他都屏蔽
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急问题处理

论坛响应时间:10分钟

问题处理方式:1对1处理(优先)

工作时间:白班:9:00 - 18:00

工作时间:晚班:18:00 - 24:00

立即付费处理

工作时间:09:00至24:00

快速回复 返回顶部 返回列表