HTTP隧道解決的問題

來源:互聯網
上載者:User

標籤:home   控制   目標   使用者   attr   多個   協議   發送   命令   

轉自別人的文章:78385506

  • 用戶端通常會用 Web Proxy伺服器代表它們來訪問 Web 服務器。比如,很多公司都會在公司網路和公用網際網路的安全邊界上放置一個代理。代理是防火牆路由器唯一允許進行 HTTP 流量交換的裝置,它可能會進行病毒檢測或其他的內容控制工作。
  • 但只要用戶端開始用伺服器的公開金鑰組發往伺服器的資料進行加密,代理就再也不能讀取 HTTP 首部了。代理不能讀取 HTTP 首部,就無法知道應該將請求轉向何處了。
  • 為了使 HTTPS 與代理配合工作,要進行幾處修改以告知代理串連到何處。
  • 一種常用的技術就是 HTTPS SSL 隧道協議。使用 HTTPS 隧道協議,用戶端首先要告知代理,它想要串連的安全性主機和連接埠。這是在開始加密之前,以明文形式告知的,所以代理可以理解這條資訊。
  • HTTP 通過新的名為 CONNECT 的擴充方法來發送明文形式的端點資訊。CONNECT 方法會告訴代理,開啟一條到所期望主機和連接埠號碼的串連。這項工作完成之後,直接在用戶端和伺服器之間以隧道形式傳輸資料。CONNECT 方法就是一條單行的文本命令,它提供了由冒號分隔的安全原始伺服器的主機名稱和連接埠號碼。host:port 後面跟著一個空格和 HTTP 版本字串,再後面是 CRLF。接下來是零個或多個 HTTP 要求首部行,後面跟著一個空行。空行之後,如果建立串連的握手過程成功完成,就可以開始傳輸 SSL 資料了。
CONNECT home.netscape.com:443 HTTP/1.0User-agent: Mozilla/1.1N<raw SSL-encrypted data would follow here...>
  • 1
  • 2
  • 3
  • 4
    • 在請求中的空行之後,用戶端會等待來自代理的響應。代理會對請求進行評估,確保它是有效,而且使用者有權請求這樣一條串連。如果一切正常,代理會建立一條到目標伺服器的串連。如果成功,就向用戶端發送一條 200 Connection Established 響應。
      HTTP/1.0 200 Connection established
      Proxy-agent: Netscape-Proxy/1.1

HTTP隧道解決的問題

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.