URL書き換えやリバースプロキシを利用した場合のアクセスIPと、Webアプリケーション側で受け取るリクエストヘッダの違いを紹介します。
Webアプリケーションに対して、直接アクセスした場合、URL書き換えを利用した場合、リバースプロキシを利用した場合で
アクセス元のIPやリクエストヘッダにどのような違いがあるか確認します。
今回のテストではDocomoの回線を利用してアクセスしています。
URLの書き換えには、ARR(Application Request Router)、リバースプロキシにはYARP (Yet Another Reverse Proxy)を利用しています。
IPアドレスとアクセスURLは次の通りです。
アクセス元のIPアドレスはアクセスした端末のグローバルIPアドレス(153.154.117.nnn)になります。
Windows 11, Microsoft Edge でASP.NET アプリケーションにアクセスした際のリクエストヘッダです。
Hostにはアクセス先のFQDNが設定されています。
Connection:keep-alive
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding:gzip, deflate
Accept-Language:ja,en;q=0.9,en-GB;q=0.8,en-US;q=0.7
Cookie:[各種Cookieの値]
Host:test.ipentec.com
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49
Upgrade-Insecure-Requests:1
http://test.ipentec.com/open/head/HttpHeaderDisplay.aspx
を http://192.168.0.240/open/head/HttpHeaderDisplay.aspx
に書き換えてアクセスします。
アクセス元のIPアドレスはURL書き換えサーバーのIPアドレス(192.168.0.250)になります。
Windows 11, Microsoft Edge でASP.NET アプリケーションにアクセスした際のリクエストヘッダです。
HostにはURL書き換えによって設定された、内部のコンテンツサーバーのIPアドレスが設定されています。
X-Original-URL
の項目が追加され、変換前のアクセスパスが設定されています。
アクセス元の端末のグローバルIPアドレスは、X-Forwarded-For
に記録されています。送信元のポート番号が記載されているのが特徴です。
Connection:Keep-Alive
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding:gzip, deflate
Accept-Language:ja,en;q=0.9
Cookie:[各種Cookieの値]
Host:192.168.0.240
Max-Forwards:10
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49
Upgrade-Insecure-Requests:1
X-Original-URL:/open/head/HttpHeaderDisplay.aspx
X-Forwarded-For:153.154.117.nnn:31035
X-ARR-LOG-ID:c3424ffb-d868-4c4d-a776-a4eaaa18aee0
アクセス元のIPアドレスはリバースプロキシのIPアドレス(192.168.0.251)になります。
Windows 11, Microsoft Edge でASP.NET アプリケーションにアクセスした際のリクエストヘッダです。
Hostには内部のコンテンツサーバーのIPアドレスが設定されています。
アクセス元の端末のグローバルIPアドレスは、X-Forwarded-For
に記録されています。
また、Connection:keep-alive
が無いです。
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding:gzip, deflate
Accept-Language:ja,en;q=0.9
Cookie:[各種Cookieの値]
Host:192.168.0.240
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.114 Safari/537.36 Edg/103.0.1264.49
X-Forwarded-For:153.154.117.nnn
X-Forwarded-Host:test.ipentec.com
X-Forwarded-Proto:http
traceparent:00-37a740b5612a1fe922afbb45ce2b38b0-55814a25f684f64c-00