経緯 Rails 5 から ActionCable が使えるようになった AWS 上でお手軽に試したい せっかくなので ELB を使って冗長構成にしよう あまりお手軽じゃなかった 問題 ELB が Websocket の接続に必要な Connection ヘッダと Upgrade ヘッダを削る 削らないようにプロトコルを TCP にすると今度は X-Fowarded-For ヘッダをつけてくれない ので発信元のIPアドレスがとれない Proxy Protocol を使うしかないらしい Proxy Protocol とは HAProxy が策定 リクエストボディの1行目に発信元の情報を追加して送信する仕様 例 PROXY TCP4 198.51.100.22 203.0.113.7 80 80\r\n GET / HTTP/1.1\r\n Host: example.com\r\n \r\n