CONNECT 請求方法
CONNECT HTTP 方法請求代理與目標伺服器建立 HTTP 隧道,如果成功,則在隧道關閉之前雙向盲目轉發資料。
此方法的請求目標是獨一無二的,因為它僅包含隧道目標的主機和埠號,以冒號分隔(詳情請參閱語法)。任何2XX 成功響應狀態碼都意味著代理將切換到“隧道模式”,成功響應正文中的任何資料都來自請求目標標識的伺服器。
如果網站位於代理之後,並且網路規則強制所有外部流量都必須透過代理,則 CONNECT 方法允許您與該網站建立 TLS(HTTPS)連線。
- 客戶端請求代理將 TCP 連線隧道傳輸到所需目的地。
- 代理伺服器代表客戶端與伺服器建立安全連線。
- 連線建立後,代理伺服器會繼續中繼客戶端的 TCP 流。
除了支援透過代理安全訪問網站之外,HTTP 隧道還提供了一種方式,允許原本會受到限制的流量(SSH 或 FTP)透過 HTTP(S) 協議傳輸。
CONNECT 是一種逐跳方法,這意味著如果源伺服器前面有另一個入站代理,代理才會轉發 CONNECT 請求,因為大多數源伺服器不實現 CONNECT。
警告: 如果您執行的代理支援 CONNECT,請將其使用限制在一組已知埠或可配置的安全請求目標列表。建立到任意伺服器的隧道存在重大風險,特別是當目標是並非用於 Web 流量的知名或保留 TCP 埠時。配置不當的代理可能會被濫用以轉發流量,例如 SMTP,從而中繼垃圾郵件。
語法
http
CONNECT <host>:<port> HTTP/1.1
示例
代理授權
需要授權才能建立隧道的代理伺服器的請求如下所示。有關更多資訊,請參閱 Proxy-Authorization 標頭。
http
CONNECT server.example.com:80 HTTP/1.1
Host: server.example.com:80
Proxy-Authorization: basic aGVsbG86d29ybGQ=
規範
| 規範 |
|---|
| HTTP 語義 # CONNECT |
瀏覽器相容性
載入中…
另見
- HTTP 請求方法
- HTTP 響應狀態碼
- HTTP 標頭
- 代理伺服器詞彙表條目
Proxy-Authorization標頭- 如何透過 HTTP 代理使用 SSH dimoulis.net (2023)