透過代理的 OpenVPN 不確定發生了什麼,澄清理論嗎?

透過代理的 OpenVPN 不確定發生了什麼,澄清理論嗎?

我目前正在小型 VPS 上運行 OpenVPN 和魷魚代理程式。在 VPN 的設定檔中,我使用 OpenVPN 代理選項在 VPN 之前連接到代理程式。

配置中有趣的部分是這樣的:

*注意:設定檔中的編輯IP與squid和OpenVPN伺服器位於同一VPS上時相同。

[...]
remote xxx.xxx.xxx.xxx 15855 tcp-client
http-proxy xxx.xxx.xxx.xxx 3128
[...]
http-proxy-option CUSTOM-HEADER Host [redacted]
[...]

據我所知,代理位於 VP 連接之前,但是魷魚作為 HTTP 代理,如何處理與 VPN 的 TCP 連接?自訂標頭何時傳遞?當客戶端連接到代理或封包從代理發送到 VPN 時,它就通過了?

有人可以解釋一下或給我一些參考資料以更好地理解發生了什麼嗎?

答案1

像 Squid 這樣的代理程式支援許多不同的 HTTP 請求方法。您可能聽說過等GETPOST但還有其他類似的 OpenVPN 正在使用上面;CONNECT

CONNECT透過 HTTP 建立一個“隧道”,您可以閱讀更多相關內容維基百科頁面

答案2

OpenVPN中的「代理」僅表示OpenVPN用戶端透過代理連接到伺服器,例如您可以在ssh用戶端上開啟的socks5代理程式。除非您將squid 設定為給定連接埠上的http 代理,否則它會使用自己的快取檔案自動劫持任何到連接埠80 或連接埠443 的出站流量。在此設定下,您可以將squid視為反向代理,就像nginx一樣,不提供真正的http代理。

相關內容