我可以使用IP地址访问网站吗?

时间:2017-10-04 11:31:07

标签: dns

我最近了解了DNS(域名系统或域名服务器)及其工作原理。我想知道 - 我可以使用其IP地址访问网站吗? -ThankYou

2 个答案:

答案 0 :(得分:1)

是的,您可以使用IP地址访问任何域。域名只是网站的名称,IP地址是页面/网站的地址。 您始终可以使用命令提示符ping网站:

ping www.google.com

你得到一个ip地址,在这种情况下是216.58.197.78。现在,当您在浏览器中点击IP地址时,您将被重定向到google.com。 您可以将DNS(域名系统)视为一个表,该表提供IP地址(216.58.197.78)和域名(www.google.com)之间的映射

答案 1 :(得分:1)

TL; DR:这取决于服务器的配置方式,但可能不是,我不会依赖它。

这是因为您尝试访问的网站可能位于反向代理或负载均衡器之后。负载均衡器的作用类似于铁路交换机,具体取决于您用来连接它的主机名。

为简单起见,假设google.commail.google.com位于具有相同IP的同一服务器上:192.168.1.1

如果您尝试直接连接到http://192.168.1.1/,网络服务器将如何知道您想要的服务? 它不会。事实上,有些公司的业务完全基于负载平衡其他公司的服务器。

当您使用浏览器连接主机时,例如:https://www.google.com,您的浏览器会在后台发送一个特殊的HOST=www.google.com标头。负载均衡器处理此标头并将请求路由到正确的服务器(可能位于完全不同的服务器,网络等)。

Digital Ocean有一个关于如何configure a basic virtual host for nginx的精彩教程。这演示了多主机配置的基本知识。

如果您不想弄乱DNS服务器,只需修改hosts文件即可在桌面上设置本地实验室环境。您可以在google操作系统托管文件所在的位置。

如果您有权访问cURL,您可以测试结果:

# if you've configured a virtual host for mysite01.local on port 80 
curl --verbose --header 'Host: mysite01.local' 'http://127.0.0.1'

# if you've configured a virtual host for mysite02.local on port 80 
curl --verbose --header 'Host: mysite02.local' 'http://127.0.0.1'

# depending on your configuration this may return a 404 or point to one of your previous sites 
curl --verbose 'http://127.0.0.1'