Web服务器响应对无法识别的主机的请求的正确方法是什么?

时间:2011-06-14 13:02:58

标签: http webserver virtualhost

在某些情况下,由于各种原因,用户代理会向我们的服务器请求未配置为服务的主机。目前这导致他们看到默认的Plesk页面,这是相当可怕的,所以我将做一个稍微更漂亮和更快的负载替换。

这让我想到了,我无法在网上找到答案:处理这种情况的正确方法是什么?服务器是否应该使用200,404或其他代码进行响应?我忽略了这种情况的HTTP状态代码吗?

最后作为一个礼节问题,如果其他人的域名(而不是我们拥有但不再使用的域名)应该在您的服务器上点什么(我们获得了之前使用的额外IP地址) ,并存在于一些不正确的DNS记录中。)

2 个答案:

答案 0 :(得分:3)

恕我直言,如果用户代理向您的服务器请求您未提供服务的域名,那么404(未找到)对我来说似乎最合乎逻辑。在(您的)服务器上不存在所有域(以及与之关联的任何页面)之后。

我会为404服务并记录下来。如果您收到大量的域名请求,那么您可以尝试通知域名所有者(如果可以访问)。

编辑:如果问题是主机名标头不正确,那么我认为至少IIS会返回400(错误请求)作为响应,在这种情况下可能是替代方案。

答案 1 :(得分:1)

HTTP状态代码适用于资源而非域名。行为未指定。我的偏好是重定向到带有解释的静态网页,而不是将它们发送到互联网的其他地方。