Open2

Proxy

Yoshiharu SuzukiYoshiharu Suzuki

https://milestone-of-se.nesuke.com/nw-basic/grasp-nw/proxy/
ここの記事でプロキシの概要がわかる。

ざっくり以下

  • DNS解決はプロキシサーバーで行う。クライアントで行うわけじゃない。なのでDNSの設定変えてもプロキシサーバーは経由する。
  • HTTPとHTTPSの場合では、プロキシの仕組みが異なる。
  • HTTPSの場合、プロキシサーバーは通信内容を横流しするだけ。SrcIPとかは変えるけど。
  • そこで使われるのがCONNECTメソッド。

MDNによる関連記事はここかな?
https://developer.mozilla.org/ja/docs/Web/HTTP/Proxy_servers_and_tunneling

HTTPトンネリングという言葉がある。
これは、HTTPSでのプロキシの挙動を表す言葉。
Wikipediaにも説明が載っている(英語)。

Yoshiharu SuzukiYoshiharu Suzuki

https://milestone-of-se.nesuke.com/sv-advanced/server-software/transparent-proxy/
透過型プロキシ(Transparent Proxy)というのがある。
一番大きい特徴は、ブラウザにプロキシ設定しなくてもプロキシを介してHTTP通信させられる。

ただし、仕組み的には通信ジャックと同じなので、HTTPSの場合はSSL/TLSの警告がでる。
これを回避する策としては、プロキシサーバーで動的に同じCNの証明書を作成して、

クライアント⇔プロキシサーバー
プロキシサーバー⇔目的サーバー

の2つをそれぞれ通信する方法がある。

ただし、これをやるにはプロキシサーバーが作成したサーバー証明書の検証を通すために、プロキシサーバーのルート証明書をクライアントに入れておく必要がある。