V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
sheldor
V2EX  ›  问与答

如果同一个 IP 对应了 N 个网站,那么如何通过 IP 访问网站?

  •  
  •   sheldor · 2016-12-12 18:25:50 +08:00 · 2181 次点击
    这是一个创建于 2698 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 改 HOSTS 可以吗?
    2. 有没有更简单的办法?比如使用浏览器插件扩展什么的?
    3. 是不是需要修改浏览器的请求头之类的?
    4. 我的专业、职业跟计算机互联网之类的完全没关心纯好奇, dns 解析完了最终不还是 IP 地址吗?
    misaka19000
        1
    misaka19000  
       2016-12-12 18:31:21 +08:00 via Android   ❤️ 1
    HTTP 头部会附带域名信息的,根据请求头部的域名来进行判断就行了
    Nginx 服务器就附带这种功能
    haitang
        2
    haitang  
       2016-12-12 18:42:07 +08:00   ❤️ 1
    1. 可以,前提是你写在 hosts 文件内的域名与 IP 对应
    2. 自建 DNS ,自行解析,软件自备
    3. 浏览器访问域名,会自动 Web 服务器发送带有 Host: domain.com 头的请求,不需要关心
    4. 一个例子
    webdev
        3
    webdev  
       2016-12-12 18:42:11 +08:00 via iPhone   ❤️ 1
    所有 webserver 几乎都会根据头去找文件 这你不用担心 配置问题而已
    sheldor
        4
    sheldor  
    OP
       2016-12-12 19:09:55 +08:00
    @haitang
    @misaka19000
    @webdev
    谢谢你们的回复
    还有一个问题就是,如果一个网站,它的域名解析被 gfw 干掉了,那么有没有办法通过 IP 直接访问呢?尤其是同一个 IP 对应了很多网站的情况下,也是改 HTTP 请求头吗?有没有现成的工具呢?因为我不是干这个的所以问题有点多,见谅!
    majinjing3
        5
    majinjing3  
       2016-12-12 19:17:56 +08:00 via Android
    @sheldor 域名被墙,就换域名, ip 被墙换 ip ,如果是提供服务给别人的话,当然,如果是自用,随意折腾都行,
    Tuisku
        6
    Tuisku  
       2016-12-12 19:18:21 +08:00   ❤️ 1
    @sheldor
    很大一部分被依据相关法律法规禁止访问的网站会连 IP 一起 ban 掉。
    但是你可以用其他 IP 去反代。
    lxy
        7
    lxy  
       2016-12-12 20:17:55 +08:00   ❤️ 1
    Nginx 可以单独分开处理不带 Host 头的、直接访问 IP 的,同一 IP 下其它网站不受影响。

    # 处理无 Host 头请求
    server {

    listen 80;

    server_name "";

    return 404;

    }

    # 处理 IP 访问

    server {

    listen 80;

    server_name _;

    return 404;

    }
    haitang
        8
    haitang  
       2016-12-12 22:01:04 +08:00   ❤️ 1
    @sheldor 通过 IP 直接访问是指的空主机头访问, Web 服务器如果有这个设置可以直接访问 IP 。
    但是如果 IP 被干扰这个方法是行不通的。

    Web 服务只认 Host 头,除非你有服务器控制权,可以随意设置,否则不要想了。
    msg7086
        9
    msg7086  
       2016-12-13 02:44:13 +08:00
    gfw 解析被干的话,直接本地做一下解析就好了(也就是直接写 hosts 就好了),没那么多麻烦事。
    yimity
        10
    yimity  
       2016-12-13 09:42:04 +08:00   ❤️ 1
    我感觉大部分人都没有明白人家问的是什么。
    yu1u
        11
    yu1u  
       2016-12-13 15:08:11 +08:00   ❤️ 1
    需要在服务器例如: IIS/Apache/Nginx 里面配置主机头为 IP 就行了,通过 IP 指向特定网站的目录,其他网站绑定的是域名,从域名访问过来的就指向绑定域名的目录。
    @yimity
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2158 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:52 · PVG 23:52 · LAX 08:52 · JFK 11:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.