【问题标题】:When does the browser, e.g., FF, send a CONNET method instead of client hello?浏览器(例如 FF)何时发送 CONNET 方法而不是客户端 hello?
【发布时间】:2015-04-22 20:22:56
【问题描述】:

在 HTTP CONNECT 隧道(参见 http://en.wikipedia.org/wiki/HTTP_tunnel 以供参考)中,客户端/浏览器发送 CONNET 方法请求,而不是像直接 https 连接中的 client hello .

我的问题是,如果我在客户端和目标服务器之间放置一个简单的端口转发器,是否可以强制浏览器仍然发送客户端问候?或者是什么让浏览器知道它应该发送 CONNECT 方法请求 而不是 client hello 当它们之间存在 HTTP 代理时?

【问题讨论】:

    标签: ssl https


    【解决方案1】:

    发送一个 CONNET 方法请求而不是一个客户端 hello

    没有。它首先发送 CONNECT 让代理建立到原始服务器的隧道。建立隧道后,正常的 SSL 握手就完成了,即

    使用 CONNECT(即代理)

    --- connect to proxy
    >> CONNECT sslhost:port HTTP/1.0
    << HTTP/1.0 200 Connection established
    --- everything from now own is transferred by the proxy to/from the target host
    >> SSLClientHello
    << SSLServerHello
    ....
    

    无 CONNECT(无代理)

    --- direct connection to sslhost:port
    >> SSLClientHello
    << SSLServerHello
    ....
    

    【讨论】:

    • 谢谢!明白了你对使用代理部分的意思,我也意识到我混合了代理和转发器......还有一个问题。考虑我有一个客户端/浏览器,一个 https 代理,现在我在我的客户端和 https 代理之间放置了一个哑端口转发器。这个系统能用吗?(⊙_⊙)
    • 由于请求的实际目标包含在 CONNECT 请求中,如果您在客户端和代理之间放置端口转发器甚至另一个代理,它仍然可以工作。
    • 谢谢! @Steffen Ullrich
    猜你喜欢
    • 1970-01-01
    • 2019-03-31
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多