done
V2EX  ›  问与答

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

  •  
  •   done · Aug 15, 2016 · 4846 views
    This topic created in 3591 days ago, the information mentioned may be changed or developed.
    6 replies    2016-08-15 08:37:24 +08:00
    ripe
        1
    ripe  
       Aug 15, 2016 via Android
    因为一个 IP 对应着多个站点
    qcloud
        2
    qcloud  
       Aug 15, 2016
    可能有的 IP 在服务端被绑定,然后绑定目录为空目录就会无法打开,如果没绑定,可能会访问到服务端的某个网站
    yelite
        3
    yelite  
       Aug 15, 2016
    http 请求里有 host 这个 header ,服务器可以根据 host 的值来决定如何响应
    cdwyd
        4
    cdwyd  
       Aug 15, 2016 via Android
    绑定多个站的不能直接访问
    cha1
        5
    cha1  
       Aug 15, 2016   ❤️ 1
    可以看下这两个链接:
    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
        6
    rqrq  
       Aug 15, 2016
    不绑定主机头的话,可能会有“非法”域名解析过来,然后网警就会通知你整改了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6106 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 02:51 · PVG 10:51 · LAX 19:51 · JFK 22:51
    ♥ Do have faith in what you're doing.