Nginx服务器禁止通过ip地址访问网站的方法

1月9日 · 2016年

有些时候不管出于什么原因,我们可能希望禁止通过输入ip地址的方法访问我们的网站,特别是现在一键安装包的流行,服务器上很多路径都是默认的,这无形中就是隐患。其实禁止的方法有很多,这里分享个简单有效的方法。

进入你的nginx.conf文件后修改default区域的规则如下,然后重启nginx服务即可生效了。

server {
      listen 80 default;
      return 500;
   }

或者还可以把ip访问的地址重定向到主域名上,不过一般也不这么做吧。

server {
       listen 80 default;
       rewrite ^(.*) http://www.yoursite.com permanent;
   }

好像有的一键包里不需要80后面的default,这个根据自己的环境吧。输入 service nginx restart 之后用ip地址访问的话就会出现下图所示了:

3 条回应
验证码
输入运算符及数字使等式成立
{{comment.validate_num1}} = {{comment.validate_num2}}
点赞 确定
退出登录?
取消 确定
  1. 望星湖畔2016-9-3 · 11:43

    我用wdcp搭建的网站,现在经常出现504 Gateway Time-out,站长有办法吗??

    • 小鱼2016-9-5 · 9:18

      引用一下我在别处看到的解决办法你参考一下:

      “这种情况可能是由Nginx默认的fastcgi进程响应缓冲区太小造成的,缓冲区太小导致fastcgi进程被挂起,如果fastcgi服务对此处理不好,就极有可能导致504 Gateway Time-out错误的出现。
      现在的网站,尤其有大量回复和很多内容的论坛,一个页面可能就有几百KB。
      默认的fastcgi进程响应的缓冲区大小是8KB,可以在Nginx.conf里设置大点,如:
      fastcgi_buffers 8 128k

      表示设置fastcgi缓冲区大小为8 × 128k。当然如果正在进行某一项即时操作,可能需要将nginx的超时参数适当调大,例如设置成60秒:
      send_timeout 60;

      调整了这两个参数,应该就不会显示超时错误。”