我的一个地方站(www.cxzaixian.com)曾经遇到过被无故断网的事情,阿里云给的原因是绑定了未备案的域名。

归结到技术层面,原因是如果网站允许ip直接访问,那么即使没有在nginx配置中解析恶意的未备案域名,这个域名也是可以访问到你的网站。

相关部门进行核查时,会以为你为未备案域名提供主机服务,后果就是封掉的ip。所以,你需要禁止ip访问,只允许你自己配置的server模块的server_name访问。这样即使未备案域名绑定了你的ip,也访问不了你的网站。

有必要说明一下,本站用的阿里云的虚拟主机,软件环境是:linux+nginx+mysql+php。因为本文是说明怎么在nginx服务器配置禁止ip访问。

方案如下:

1.增加server模块,第一句 listen 80 default 就禁掉了ip访问,第二句标示如果通过ip访问或者nginx未解析的域名访问 则返回500错误。

nginx禁止ip访问, 只能通过域名访问

2. 如果把ip访问和未解析域名访问转到你自己的域名,从而带来一些额外流量,则如下配置(logo条纹挡住的词是:permanent):

nginx禁止ip访问, 只能通过域名访问

3.加上以上配置之后会带来一个问题,通过cxzaixian.com不能访问了,www.cxzaixian.com没有问题,配置改为如下即可解决:

nginx禁止ip访问, 只能通过域名访问

原文发布于微信公众号 - nginx(nginx-study)

原文发表时间:2015-05-16

本文出处https://cloud.tencent.com/developer/article/1181566

相关文章:

  • 2021-11-01
  • 2020-04-27
  • 2021-11-20
  • 2021-09-27
  • 2021-12-24
  • 2021-08-16
  • 2021-09-07
  • 2021-11-11
猜你喜欢
  • 2021-09-18
  • 2021-11-16
  • 2021-11-01
  • 2021-12-07
  • 2019-08-26
  • 2021-11-01
  • 2021-10-16
  • 2021-11-20
相关资源
相似解决方案