nginx 禁止通过ip访问站点

回复 收藏
在server部分加如下代码:

server {
             listen 80 default;
             server_name  suibian.com;  #这里的域名可以乱填一个
             deny all;
     }
2009-10-09 16:48 举报
已邀请:
0

chekir

赞同来自:

本帖最后由 chekir 于 2014-2-9 15:23 编辑

经测试,在 nginx version: nginx/1.5.8 这个版本上按照上面的加法会导致ip 跟域名都无法访问。

所以在 nginx version: nginx/1.5.8 版本上禁止直接通过IP访问与上面有点小区别,在server 项上面新增一个server,如下:
  1. server {
  2. listen 80 default_server;
  3. server_name b.com;
  4. rewrite ^ http://www.a.com$request_uri?;      #跳转,当使用IP去访问的时候,跳转到域名访问,而不是IP
  5. }
也可设置:
  1. server {
  2. listen 80 default_server;
  3. server_name b.com;
  4. return 403;      #用403或者444,视乎不太友好
  5. }
0

ocean

赞同来自:

  1. if ( $host ~* "\d+\.\d+\.\d+\.\d+" ) {
  2.       return 403;
  3.        # rewrite ^(.*) http://www.domain.com;       
  4. }
0

丁张龙

赞同来自:

suibian.com
随便官网域名{:4_107:}

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: