fc2ブログ

記事一覧

IIS でリバースプロキシを構成する - Microsoft Application Request Routing 3.0 SSL対応 CORS対応 -

TOP > Web
 今回は、IIS を利用して SSL 対応かつ CORS 対応のリバースプロキシを構成する方法を覚え書きします。
CORS 対応の為に、リバースプロキシ(外部 WEB サーバー)と内部 WEB サーバーのバインド情報を同じドメインで設定したり、SSL は異なっていても良いが、自己署名証明書では HTTP ステータスコード 502 Bad Gateway が返ってきたりして、事例や具体的なエビデンスが少なく、問題解決に苦労しました。



前提条件
・Windows 10 Professional v1903 以降
・IIS 7.0 以降
・Microsoft Application Request Routing 3.0
・IIS URL Rewrite Module 2.0
・Chrome 等のブラウザ



1.ARRのインストール

IIS に ARR (Application Request Routing) 3.0 をインストールします。
インストール時に特別な設定は必要なく次へボタンを押下するだけです。

IIS_ARR_01.png



2.URL Rewrite Module のインストール

URL Rewrite Module 2.0 をインストールします。
ARRと同様にインストール時に特別な設定は必要なく次へボタンを押下するだけです。インストールが終了したら、サーバーごと再起動します。(再起動しないと IIS の管理画面に設定項目が表示されないので、必ず必要です。

IIS_ARR_02.png




3.ARRの設定方法

(1)IIS管理画面からサーバーを選択し、ARRのアイコンをダブルクリックします。

IIS_ARR_03.png


(2)画面右側にある、プロキシ設定を開きます。

IIS_ARR_04.png


(3)Proxy設定を有効にします。基本的に特別なことがない限りはすべてデフォルトのままです。

IIS_ARR_05.png




4.URL Rewrite の設定方法

(1)リバースプロキシ用のWEBサイトを作成します。今回はArrTestという名称で作成しました。
バインド情報1:http://arrtest.dynaspo.com:80/ 未使用のIPアドレス全て
バインド情報2:https://arrtest.dynaspo.com:443/ 未使用のIPアドレス全て
※今回は SSL に Let's Encrypt を使用しました。内部 WEB サーバーとは異なる SSL を設定しました。
それ以外の設定についてはすべてデフォルトのままです。

(2)リバースプロキシ用のWEBサイトで「URL書き換え」をダブルクリックします。

IIS_ARR_06.png


(2)受信規則を編集します。新規の場合はないため、画面右上から「規則の追加」をクリックします。

IIS_ARR_07.png


(3)アクションの種類を「書き換え」にして、URLの書き換えに対象となる 「https://ドメインのアドレス/{R:1}」を入力します。
以下のイメージ図では他のドメインを指定していますが、リバースプロキシサーバーと同じドメインを設定するのが正しいです。
また、この時、IP アドレスベースで入力すると、CORS に対応できなくなりますので、必ず同一ドメインで入力することが必要です。ただし、リバースプロキシサーバーからそのドメインを内部 WEB サーバーの IP アドレスに名前解決できることとします。内部 DNS サーバーの設定に追加するか、hosts で設定できます。

IIS_ARR_08.png




5.構成について

今回の構成としましては、以下のようになっております。
PC→インターネット→リバースプロキシサーバー→FW→内部WEBサーバー→DBサーバー

IIS_ARR.png






以上で、IIS で Microsoft Application Request Routing を使用した SSL 対応・CORS 対応のリバースプロキシ環境を構築することができました。







最後までお読みいただきありがとうございます。
今後も役に立つ記事を投稿できるように心がけていきますので、よろしければご参考ください。



コメント

コメントの投稿

※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。

 入力されていないコメントには返信しませんのであらかじめご了承くださいませ。

※ニックネームでも良いので必ずご入力ください。

    

※必ずご入力ください。

    
    

※必ずご入力ください。

※技術的な質問には環境やエラーについて正確かつ詳細にお教えください。

・正確なエラーの内容

・Windowsのバージョン番号

・Visual Studioのバージョン

・機器の型番

・アプリやソフトのバージョン

    

カテゴリ別記事一覧

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Catalina 10.15 / Mojave 10.14 / High Sierra 10.13 / Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
【データベース】
Oracle 10g/9i
SQLServer 2016/2008R2/2005/2000
SQLAnywhere 16/11/8
【BI/レポートツール】
Cognos ReportNet (IBM)
Microsoft PowerBI
ActiveReport (GrapeCity)
CrystalReport
【OCX関連】
GrapeCity InputMan SPREAD MultiRow GridView
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS jQuery IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。