sakisaki
V2EX  ›  问与答

关于网页浏览过程的疑惑

  •  
  •   sakisaki · May 7, 2021 · 1269 views
    This topic created in 1923 days ago, the information mentioned may be changed or developed.

    以前搭建博客的时候,为了隐藏 vps 的 IP 地址,会套上 CDN 然后在 nginx 的配置里禁止通过 IP 地址直接浏览。

    突然又想到,访问网页的过程就是客户端先通过 DNS 解析域名获得目标 IP,然后在要发送的数据包上标注源 IP 与目标 IP,路由器会将数据包送达。

    服务器是怎么知道发送这个数据包的人是否正在通过 IP 地址直接访问网页呢?

    IvanLi127
        1
    IvanLi127  
       May 7, 2021   ❤️ 1
    HTTP 请求头里有个叫 Host 的字段,web 服务器靠它区分同一 IP 下不同的站点。
    also24
        2
    also24  
       May 7, 2021   ❤️ 1
    『在 nginx 的配置里禁止通过 IP 地址直接浏览』指什么操作?

    是想说指定 server_name ?

    https://nginx.org/en/docs/http/server_names.html
    https://tengine.taobao.org/nginx_docs/cn/docs/http/request_processing.html
    huxins
        3
    huxins  
       May 7, 2021   ❤️ 1
    host,sni
    XIU2
        4
    XIU2  
       May 7, 2021   ❤️ 1
    @also24 #2 server 中加入下面这段代码,允许 CDN IP 段访问该网站,剩下都一律拒绝。
    allow 127.0.0.0/8;
    deny all;

    另外还需要给服务器 IP 自签证书来避免别人扫描证书泄露域名真实 IP (当通过 HTTPS 访问 IP 或指向一个不存在的域名来访问时,Nginx 会泄露服务器上其他网站用的 SSL 证书,通过该证书可以得知该 IP 是哪个藏在 CDN 后域名的真实 IP )。
    sakisaki
        5
    sakisaki  
    OP
       May 7, 2021
    @IvanLi127 @huxins 多谢解答,我没有想到包里的其他字段会有我的答案…
    also24
        6
    also24  
       May 7, 2021
    @XIU2 #4
    这又是从哪里复制来的……

    首先你回复的这段,和我问的那段完全不相关;
    其次,只 allow 127.0.0.0/8 是认真的么? CDN IP 段在 127.0.0.0/8 么……
    sakisaki
        7
    sakisaki  
    OP
       May 7, 2021
    @also24 我当时的方法是类似
    server {
    listen 80 default;
    server_name _;
    return 403;
    }
    also24
        8
    also24  
       May 7, 2021
    @sakisaki #7
    那么看我附的文档,理解一下 server_name 的作用原理就明白了。
    ysc3839
        9
    ysc3839  
       May 8, 2021
    @XIU2 关于你说的证书的问题,从 nginx 1.19.4 开始可以使用 ssl_reject_handshake 。
    http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_reject_handshake
    XIU2
        10
    XIU2  
       May 8, 2021
    @ysc3839 #9 这么多年了,Nginx 终于把这个问题给解决了。。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1120 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 23:28 · PVG 07:28 · LAX 16:28 · JFK 19:28
    ♥ Do have faith in what you're doing.