現在、小規模な VPS で OpenVPN と squid プロキシを実行しています。VPN の設定ファイルでは、OpenVPN プロキシ オプションを使用して、VPN の前にプロキシに接続しています。
構成の興味深い部分は次のとおりです。
*注: squid と OpenVPN サーバーの両方が同じ VPS 上にあるため、構成ファイル内の編集された IP は同じです。
[...]
remote xxx.xxx.xxx.xxx 15855 tcp-client
http-proxy xxx.xxx.xxx.xxx 3128
[...]
http-proxy-option CUSTOM-HEADER Host [redacted]
[...]
プロキシは VP 接続の前に配置されていることは理解していますが、HTTP プロキシである squid は、VPN への TCP 接続をどのように処理できるのでしょうか? カスタム ヘッダーが渡されるのはいつですか? クライアントがプロキシに接続するとき、またはプロキシからパケットが VPN に送信されるときに渡されますか?
何が起こっているのかをよりよく理解するために、誰か説明したり、参考資料を教えてもらえませんか?
答え1
Squid のようなプロキシは、さまざまな HTTP リクエスト メソッドをサポートしています。 などについては聞いたことがあると思いますがGET
、POST
上記の OpenVPN が利用している のような他のメソッドもありますCONNECT
。
CONNECT
HTTP経由で「トンネル」を作成します。これについては、ウィキペディアのページ。
答え2
OpenVPN の「プロキシ」とは、OpenVPN クライアントが、ssh クライアントで開くことができる socks5 プロキシのようなプロキシを介してサーバーに接続されていることだけを意味します。 squid を特定のポートの http プロキシとして設定しない限り、squid は、独自のキャッシュ ファイルを使用して、ポート 80 またはポート 443 へのすべての送信トラフィックを自動的にハイジャックします。 この設定では、実際の http プロキシを提供しない nginx のようなリバース プロキシとして squid を見ることができます。