system.webServer/proxy の項目が見つからない場合は、サイトのノードを選択して構成エディターを表示していないか、または、ARRがインストールされているか確認します。
対象サーバーを取り違えている可能性もありますので、操作しているサーバーも確認します。(ARRのリバースプロキシのサーバーではなく、内部のWebサーバーの構成エディターを開いてしまっている事例もあります。)
https://abc.ipentec.com/app1
にアクセスすると、リバースプロキシがURLを書き換え内部のWebサーバーへのアクセスに変えます。リバースプロキシにアクセスした時点でのリクエストヘッダのHostの値はアクセスしてURLのホスト名(この場合は abc.ipentec.com)となりますが、内部のWebサーバーでのHostの値はWebサーバーのIPアドレス(またはホスト名)となります。https://192.168.nnn.mmm/app1/update
のように、内部のWebサーバーを示すURLになってしまいます。一般的に内部のWebサーバーのURLは外部からは参照できないため、このURLにリダイレクトすると、404エラーになります。system.webServer/proxy
の項目を選択します。system.webServer/proxy
のセクションの構成エディターの画面が表示されます。中央のエリアに設定できる項目が表示されています。preserveHostHeader
項目を変更します。デフォルトでは False
になっています。True
にします。preserveHostHeader=false
に設定された場合のリクエストヘッダの値を確認します。リクエストヘッダの表示や取得についてはこちらの記事を参照してください。X-Forwarded-For
に設定されていることも確認できます。アクセス元のIPアドレスはリバースプロキシのIPアドレスではなく、アクセス元端末のIPアドレスになっています。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
Cache-Control : max-age=0
Connection : Keep-Alive
Cookie : __gads=ID=0037bb6518ebd184:T=1591686855:S=ALNI_MbN6jv_XTUgSKwJuRs8hSK914_mMg; _gid=GA1.2.900728549.1599295136; ASP.NET_SessionId=tsoowiurlztes2cmggxxz01f; _ga=GA1.1.15427962.1591686856; _ga_F81X5MMRN8=GS1.1.1600091869.264.1.1600091879.50
Host : 192.168.64.nnn
Max-Forwards : 10
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Edg/85.0.564.51
Upgrade-Insecure-Requests : 1
X-Original-URL : /open/Header/ShowRequestHeader
X-Forwarded-For : 183.77.nnn.mmm:60272
X-ARR-LOG-ID : 1de48cfe-3054-425f-b8a7-da5ea79c2e3d
preserveHostHeader=true
に設定された場合のリクエストヘッダの値を確認します。
Hostヘッダの値がARRのサーバーのホスト名(アクセス元端末で入力したURLのホスト名)になっています。X-Forwarded-For
に設定されていることも確認できます。アクセス元のIPアドレスはリバースプロキシのIPアドレスではなく、アクセス元端末のIPアドレスになっています。この値は、preserveHostHeaderがfalseの場合と同じ値になっています。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
Cache-Control : max-age=0
Connection : Keep-Alive
Cookie : __gads=ID=0037bb6518ebd184:T=1591686855:S=ALNI_MbN6jv_XTUgSKwJuRs8hSK914_mMg; _gid=GA1.2.900728549.1599295136; ASP.NET_SessionId=tsoowiurlztes2cmggxxz01f; _ga=GA1.1.15427962.1591686856; _ga_F81X5MMRN8=GS1.1.1600091869.264.1.1600091879.50
Host : test.ipentec.com
Max-Forwards : 10
User-Agent : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36 Edg/85.0.564.51
Upgrade-Insecure-Requests : 1
X-Original-URL : /open/Header/ShowRequestHeader
X-Forwarded-For : 183.77.nnn.mmm:60272
X-ARR-LOG-ID : e0b0df47-6784-400f-8e9e-5876085ede58