web服务禁止 ip 直接访问: apache/httpd/nginx

随着这一段时间政府加大扫黄打非的力度,互联网上似乎正在被重新洗涤;而越来越严格的管控,姑且不论是否一刀切,至少我们看到了政府对黄这个问题的严重性的关注。创建一个文明的时代,正在成为越来越多网民以及网民相关人员的期待和迫切要求。

(原文链接 http://ddbiz.com/?p=193)

跑题了 :-)

 

昨日IDC机房通知,所有web服务器不可以直接通过ip地址进行访问web服务,必须使用设定的域名访问web服务;否则杀无赦。

 

:-(, 这回晕了一下,尽管到目前为止我还不清楚如果使用ip进行访问的话,会造成什么样的漏洞,但还是先以响应领导号召为最重要。

 

现在总算想明白了一点儿,如果你的机器能够用 ip 直接访问,那么恶意的第三方可以通过他的一个随便的域名指向你的ip,每次访问该域名都可以正常打开网站,尽管这个页面是你的。这样,如过对方域名没有备案,那么你的ip就要殃及无辜了。

 

1. httpd/apache

 

apache 配置此操作还是比较方便,因为 httpd 的默认的主机是配置文件中第一个VirtualHost,所以把第一虚拟主机作为 403 forbidden 的响应更为合适(此前这个默认的是主web服务器)。

 

修改配置文件如下:

 

NameVirtualHost *:80

 

<VirtualHost xxx.xxx.xxx.xxx:80>

   ServerName xxx.xxx.xxx.xxx

   DocumentRoot /xxx/xxx

   <Directory /xxx/xxx >

      Order Allow,Deny
      Deny from all

   </Directory>

</VirtualHost>

 

--或者----------------

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName xxx.xxx.xxx.xxx
  <Location / >
    Order Allow,Deny
    Deny from all
  </Location>
</VirtualHost>

 

两种表示方式一样,第二种方式简单些,不用指定路径了。关键是把第一个虚拟机的服务名字设定为 ip 地址

 

 

2. nginx

 

 nginx 的设定和httpd类似,都是第一个服务器作为默认的服务器,除非明确指定某个服务器的状态为 default

 

    server {
        listen       80 default;
        server_name  _;

        location / {
            root   html;
            index  403.html;
        }
        location ~ //.ht {
            deny  all;
        }
   }

有时我们并不希望客户端收到403的禁止信息,可能404更有迷惑性,则可以如下设置:

 

    server {
        listen       80 default;
        server_name  _;

        location / {
            root   html;
            #index  403.html;

            return 404;
        }
        location ~ //.ht {
            deny  all;
        }
   }

 

 

3. 判定设置是否生效:

 

[root@test ]# wget http://xxx.xx.xxx.11

--11:07:17--  http://xxx.xx.xxx.11/

Connecting to xxx.xx.xxx.11:80... connected.

HTTP request sent, awaiting response... 403 Forbidden

11:07:17 ERROR 403: Forbidden.

 

 

 

[root@test ]# wget http://xxx.xx.xxx.22

--11:06:46--  http://xxx.xx.xxx.22/

Connecting to xxx.xx.xxx.22:80... connected.

HTTP request sent, awaiting response... 400 Bad Request

11:06:46 ERROR 400: Bad Request.

 

(原文链接 http://ddbiz.com/?p=193)

OK

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值