質問: 現在、AWSのELBと EC2を用いてProxyサーバーを構築しています。 今回、 クライアント→ELB→Proxyサーバー(EC2)とリクエストを引き継ぐ際、 ELBからProxyにわたる段階でHTTPリクエストのhostnameが消えるという現象が発生します。 ポート80番以外なら大丈夫という情報を見て8080などでも試しましたが、変わらずでした。 何かお分かりの方がいらっしゃいましたらお力添えよろしくお願いいたします。 ・クライアントから直接プロキシに接続した場合のログ ``` [04/Apr/2018:07:24:09 +0000] "GET http://abehiroshi.la.coocan.jp/ HTTP/1.1" 200 3770 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" "-" ``` ・ELBを経由したログ(http://abehiroshi.la.coocan.jp)が抜け落ちています ``` [04/Apr/2018:07:14:03 +0000] "GET / HTTP/1.1" 200 3770 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36" ```
回答: Proxy が Forward Proxy なのであれば、ELB のプロトコルを **TCP** にする必要があると思います。 あるいは、NLB でも可能だと思います。 ELB (プロトコル HTTP) や ALB だとリバースプロキシー型なので、Forward Proxy には使えないのではないでしょうか。