很菜的问题 可是还是想弄明白 为什么 有些网站用 ip 打不开 必须需要域名才可以访问

2016-08-15 07:57:45 +08:00
 done
4393 次点击
所在节点    问与答
6 条回复
Laynooor
2016-08-15 08:00:05 +08:00
因为一个 IP 对应着多个站点
qcloud
2016-08-15 08:04:12 +08:00
可能有的 IP 在服务端被绑定,然后绑定目录为空目录就会无法打开,如果没绑定,可能会访问到服务端的某个网站
yelite
2016-08-15 08:06:23 +08:00
http 请求里有 host 这个 header ,服务器可以根据 host 的值来决定如何响应
cdwyd
2016-08-15 08:14:39 +08:00
绑定多个站的不能直接访问
zqhong
2016-08-15 08:25:54 +08:00
可以看下这两个链接:
http://nginx.org/en/docs/http/request_processing.html
http://zslzzu.blog.51cto.com/3835546/785741


这里以 Nginx 为例子,假设一些条件:
1 、你的 web 服务器的外网 ip 为: 1.2.3.4
2 、你的 web 服务器配置了三个虚拟主机,从上到下分别是: a.comb.comc.com

当你用客户端浏览 http://1.2.3.4 的时候, Nginx 首先会检查你的 Http 请求头的 Host ,如果有匹配的虚拟主机,则转发到相应的位置。如果没有,则使用默认的虚拟主机(你配置的第一个虚拟主机,即 a.com )。

这样的话,直接访问 ip 的形式,会将请求转发到第一个虚拟主机。那我们第一个虚拟主机只要这样配置就好了:
```
server {
listen 80 default;
return 500;
}
```

建议看上面第一个链接 [How nginx processes a request]( http://nginx.org/en/docs/http/request_processing.html),讲得很清楚。
rqrq
2016-08-15 08:37:24 +08:00
不绑定主机头的话,可能会有“非法”域名解析过来,然后网警就会通知你整改了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/299296

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX