是否可以通过其IP地址直接访问网站?


34

我发现许多网站仅在通过FQDN(例如example.com)访问它们时才显示其网站内容。尝试通过其IP地址访问时,它们显示404站点未找到错误。

是否有充分的理由说明为什么网站所有者不希望通过IP地址直接访问其网站,而不希望通过DNS进行访问?

为您的网站提供直接IP访问的利弊是什么?

Answers:


32

请注意,通过域名访问的网站可能不会直接托管在IP地址的根目录下,即example.org可以映射到123.45.67.89/~example。对于普通的Web主机来说,这很常见,因为它们无法为每个网站分配IP地址-这将非常浪费。

举例来说,如果你做一个DNS查询webmasters.stackexchange.com,你会得到的IP地址198.252.206.140(在网站上我联系到在右侧)。尽管IP地址确实进入了StackExchange页面,但它并没有指向网站站长部分,该部分可能位于198.252.206.140/www/webmasters

使用IP地址(或类似123.45.67.89/~example)的一个缺点是需要一个静态IP地址。如果由于某种原因必须更改IP地址,则无法重定向用户。而使用域名,只需更新DNS记录以指向新的IP地址即可。

尽管不完全相关,但IP地址的另一个明显缺点是它们比名称和结尾更难记。

默认情况下,可以通过域名和IP地址访问网站。关于这个问题的不同答案/评论提供了不同的观点,我不想复制。

就个人而言,我不会按IP地址阻止访问,仅因为那不是人们期望互联网能够正常工作的方式。此外,普通用户永远不会随机找到您网站的IP地址,并且他绝对不会开始使用该IP地址共享指向您网站的链接。因此,在SEO和安全性方面所做的任何努力肯定会花在其他地方。


6
我认为您的最后两段没有回答这个问题。在我对问题的理解中,OP 不是在询问是否可以通过IP地址而不是域名来提供网站,而是要问是否有任何故意阻止用户通过IP地址访问该网站的理由?。
OR Mapper 2014年

2
一个小小的修正:本身,whois查找只会向您显示域名的注册状态和联系信息。IP地址由DNS记录查找确定。Who.is是一项服务,在查找域名时会同时向您显示两者。此外,您只会找到的whois信息stackexchange.com,而不会找到webmasters.stackexchange.comgwhois.org/webmasters.stackexchange.com+dns
iglvzx 2014年

@ORMapper和iglvzx:非常感谢你们!我已经更新了我的答案以修正您的评论,并尝试从其他答案中尽可能少地复制,这对阅读非常有趣。
ljacqu 2014年

1
youtube-如果您ping youtube并获得IP地址173.194.41.161,则最终获得Google的主页。
Wilf 2014年

1
如果强制实施SSL,则可能是另一个问题(您确实应该这样做)。
Lao Lam

9

HTTP的原始版本不包含任何用于客户端指定主机名作为请求一部分的机制。它连接到服务器,仅发送URL的路径部分。对HTTP协议的早期修改之一是为客户端添加了发送其他“标头”信息(包括主机名)的功能。

20年前,浏览器对虚拟主机的支持非常差。那时,有充分的理由也可以仅从IP地址提供内容。一小部分客户端不会发送主机头。现在,主机名是每个浏览器和Web搜寻器发送的标准标头。

实际上,我发现如果服务器响应我的网站,则无法满足在IP地址上查找内容的请求。我倾向于看到IP仅请求是:

  • 对于曾经使用该IP地址的网站
  • 尝试被恶意软件访问

我现在更喜欢只为IP地址请求提供404错误,而不是为我的网站提供服务或重定向到我的网站。我的服务器还配置为向无法识别的主机名提供404页,如如何处理恶意域重定向的答案中所述


我偶尔尝试通过其IP地址访问网站;每当我怀疑DNS可能会出现问题时。在这种情况下,我会尝试查找网站的IP地址,然后通过该地址打开网站。如果我希望正常域名中的网站只能通过其IP正常加载,我知道我必须修复有关DNS的某些问题,但是如果收到错误消息,我总是会认为网站服务器上的内容已损坏,并且我只需要等待它修复即可。
OR Mapper 2014年

如今,许多网站都使用共享托管,因此希望能够在没有主机名的情况下访问它们是不切实际的。该StackExchange网站仅提供IP地址不可用。有许多共享它的StackExchange子域网站。如果仅使用IP地址尝试,则StackExchange将显示一个自定义404页面。
斯蒂芬·奥斯特米勒

7

特别是如果您有一个共享主机或自己托管多个域的服务器,则无法通过IP访问“网站”。对于您自己的服务器,您可以定义输入IP后到达的主域。对于共享主机,这是不可能的。

正如@Ijacqu所提到的,IP可以轻松更改。

另一件事是重复的内容,所以基本上这样做不是一个好习惯。

如果您想通过其服务器IP访问网站,则应将301或302绝对添加到域本身。

对于我管理的一台服务器,我添加了一个小型HTML站点,只是将“欢迎使用123.456.789.123”作为默认站点,因为该计算机上托管了多个客户项目,并且我只需要为该默认站点提供白标签解决方案。我使用apache虚拟主机进行了配置。


3

从SEO角度来看,这是一场灾难。

如果您有一个网站,例如stackexchange.com,并且也可以从ip地址访问它,则将导致重复的内容。

这将破坏您的排名,并使您的用户感到困惑,他们将在Google上搜索并找到2个针对相同主题的结果(一个可通过域名访问,另一个可通过IP地址访问)

切勿通过IP地址访问域。

如果您将一个域托管在单个服务器上,则最好的方法是将301 redirectip地址访问定向到该域。

如果服务器上有多个域,请禁用直接IP地址访问。


4
自从ARPA-NET以来,我一直在此工作。这个说法是不正确的。最初,没有虚拟主机,并且可以通过域名和IP地址访问所有网站。今天,这仍然极为普遍。搜索引擎足够聪明,可以知道哪些IP地址为哪些域名提供服务,因此请勿将其视为重复的内容,而应视为同一站点。
closetnoc

通过更新nginx之后,我没有修复默认服务器,网站被破坏了。在直接IP地址访问中花了6个月的时间才完成301个所有10.000.000爬网链接:(
krokola 2014年

而且,如果您认为没有SEO问题(但我完全不同意),那么点击率是一个很大的问题。漫游器会两次点击以抓取相同的内容。如果您的网站每天收到2.000.000僵尸程序点击,并且您允许直接ip地址访问,则僵尸程序将获得4.000.000的收益对您完全没有好处。
krokola 2014年

1
对于SEO,可以添加,<link rel="canonical" href="http://example.com" />以避免重复的内容。
2014年

2
这个答案肯定是不正确的。许多网站都可以通过其IP地址进行访问,这不会引起搜索引擎的麻烦,也不会杀死您的“ SEO”。重复的内容是自网络开始以来一直存在的技术问题,搜索引擎具有多种处理方式。这不是世界末日。就是说,如果您偏爱索引,则添加rel = canonical是引导搜索引擎朝此方向发展的好方法。
约翰·穆勒

2

仅2美分,我的Web服务器上有一些网站(大约8个),它们的IP地址都完全相同。通过使用主机头,FQDN可以帮助Web服务器(在我的示例中为Apache)将请求定向到相关网站的正确目录。默认情况下,该IP地址定向到我公司的网站。从2001年左右开始,我发现这是大多数Web托管提供商的规范,尤其是考虑到IPv4地址的当前状态。仅出于某种背景,我为Voyager.net(在密歇根州)工作了大约8年,而Voyager是一家托管公司和ISP,托管了80,000多个域,但我不知道我们托管了多少个网站。在旁注中,根据定义,FQDN用于将人类可读的地址分配给IP地址,以便我们可以更轻松地记住它们。再次只是我的2美分。


1

从安全角度来看,这是明智之举。

大多数人流量大的网站都会在某个地方使用CDN。因此,任何尝试进行的DOS或DDOS攻击都只会通过CDN服务器消散,而不会到达用户站点。

但是,如果用户知道该站点的IP地址,则可以直接对该IP发起攻击并立即关闭服务器。因此,大多数CDN都会为您提供隐藏服务器IP地址的选项。因此,向尝试访问该网站的用户提供404是一个不错的选择。可以通过.htaccess文件或通过将站点托管在默认服务器文档根目录之外的其他位置来完成此操作。


-1

每个人都忘记了共享IP托管的地方,就像拥有相同许可证号的1000辆汽车一样。如果某人在做恶意行为,那么该流量将在目标服务器上显示为来自IP。它被阻止,其他人也都使用它。您关心的任何站点都应该拥有自己的IP。您发送的任何邮件应来自您的IP,而不是共享的IP。我为此付出了很多,自1994年以来我一直在这方面工作。


这不能回答问题。问题是该站点是否可以通过IP地址访问,而不是站点是否应该位于共享主机上。即使您拥有自己的IP地址,您可能也可能不想通过输入IP地址来使站点可用。您可能还想在一个IP地址上托管几个自己的站点。
斯蒂芬·奥斯特米勒
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.