我最近了解了DNS(域名系统或域名服务器)及其工作原理。我想知道 - 我可以使用其IP地址访问网站吗? -ThankYou
答案 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.com
和mail.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'