最近,我们遇到了一个问题,即我们在Azure上的Web角色获得了以前与thepiratebay跟踪器关联的IP地址。这意味着大约有5 000 000个请求是404.我相信DNS服务器的问题。
我想要做的是过滤掉指向与我们网站不同的主机的请求。是否可以通过
中的hostHeader属性实现此目的<ServiceDefinition name="AB.AzureSite" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-06.2.4">
<WebRole name="AllBlacksdotcom" vmsize="Medium">
<Sites>
<Site name="Web">
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" hostHeader=""/>
</Bindings>
</Site>
</Sites>
我们希望完全避免请求访问我们的网站(例如,主机track.thepiratebay.org的请求)。这可能吗?
答案 0 :(得分:2)
无法完全skip /turn off
处理不需要的请求。但是,使用hostHeader
属性会带来一些权衡。检查documentation here。
至少有一个问题:
当您使用主机标头时,您的网站将仅回复请求 用这个标题。
您无法在hostHeader
属性中使用通配符。
该属性直接应用于IIS中网站的host header
绑定属性。因此 - 不支持通配符。
因此,只有描述您在hostHeader
中定义的内容的请求才会登陆您的网站。然而,其余的请求将落在IIS中的Default Web Site
上。
您可以通过start-up task(some example for changing IIS settings via Startup Tasks)关闭Default Web Site
。
答案 1 :(得分:2)
如果您处于主机标头级别,则流量已经到达您的角色实例。在此之前阻止流量的唯一方法是使用端点上的访问控制列表(ACL)。
如果问题仅基于您最终遇到的特定IP地址,则可以删除然后重新部署您的云服务包,这将分配新的IP地址。