フォロー

CGNと言えば。
複数人で同一時刻に同一IPアドレスを共用するので、ポート番号もログ保存することが推奨(RFC6302)されているけれど。

リバースプロキシを利用する場合にHTTPヘッダでは対応できそうな標準が無いのが気になっている。
例えば、IPアドレスにはX-Real-IPやX-Forwarded-For等があるのですが、クライアントの送信元ポート番号を伝達するデファクトスタンダードが見つけられない。
(X-Forwarded-Portはクライアントの送信先ポート番号なので別用途。)

ProxyProtocolを使えば伝達出来そうなのですが、アプリケーション側は対応しているのかな・・・

調べてみたところ、X-Forwarded-Forにポート番号を含める製品もあるようで、例えば203.0.113.1:1234のようにセットされるらしい。

ここで、nginxの場合。
ngx_http_realip_moduleを利用することで、$remote_addrと$remote_portを置き換えることが出来る。
(オリジナルの値は$realip_remote_addrと$realip_remote_portとして残される)

置き換え元には、X-Real-IP、X-Forwarded-For、proxy_protocolから選択出来るけれど。
リクエストヘッダの場合はRFC3986に沿っていれば対応してくれるみたい。(未検証)

ログインして会話に参加
ゆかりカフェ

Mastodon は、オープンなウェブプロトコルを採用した、自由でオープンソースなソーシャルネットワークです。電子メールのような分散型の仕組みを採っています。