是不是可以这么理解,在nginx或者express中配了一个server_name,当在浏览器中打开这个域名,比如说叫aaa,浏览器会去C盘查找host文件,对应的IP地址,然后调用这个IP地址去访问?
理解是否正确?
那如果劫持成baidu.com呢,服务器端如何防范这样的提交数据?
是不是可以这么理解,在nginx或者express中配了一个server_name,当在浏览器中打开这个域名,比如说叫aaa,浏览器会去C盘查找host文件,对应的IP地址,然后调用这个IP地址去访问?
理解是否正确?
那如果劫持成baidu.com呢,服务器端如何防范这样的提交数据?
在访问网址的时候,域名可以用在多个地方:
给域名解析服务器,拿到 IP,也就是服务器地址(也可能是从 HOSTS 中拿到)
发送给服务器,让服务器知道你是访问的哪个服务。比如 a.some.com 和 b.some.com 是两个服务,但都部署在 1.2.3.4 这台服务器上,那服务器是可以根据域名来决定把请求转发给哪个服务的。这件事情可以是 IIS,Apache 干,也可以是 Nginx 这种专门做转发的东西来干的(其实 Nginx 也可以提供一些 Web 服务)。
举个例来说,快递同样是寄的公司地址,但是通过人名就可以准确定位到该分发给谁。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
不是...
关键在于端口侦听,当指定端口收到请求时,如果请求的域名与server_name匹配,那就用这个设置来进行后续的处理。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。