リバースプロキシサーバを作ってみる

はじめに

リバースプロキシをAzureで作ってみる

IIS、Application Request Routing、URL Rewriteを使ってリバースプロキシを作る。

構成イメージ

今回は簡単に以下のような構成にします。

振り分けも複雑にしません。

WEBサーバ作成

Azure上にVMをデプロイしてIISをインストールします。VMのデプロイの手順は省略。

IISのインストールもすべてデフォルトのため省略

「サーバーマネージャー」⇒「ツール」⇒「IISマネージャー」

「サイト」を右クリックして「Webサイトの追加」をクリック

画像のように入力し「OK」をクリック

Default Web Siteの方は停止しておく

物理パス内に適当にindex.htmファイルを入れましょう。中身も適当で。

hostsにはループバック向けの名前解決ができるように記載を追加し、WindowsFirewallが有効であれば切っておく。

ブラウザを立ち上げて、URL(http://testsite)を入力しindex.htmの内容が表示されることを確認する。

リバースプロキシ作成

リバースプロキシ側には、IISだけじゃなくてARR(Application Request Routing)とURL Rewriteも入れます。

以下サイトにアクセスして、x64 installerをダウンロードする

Application Request Routing : The Official Microsoft IIS Site

インストーラをサーバにコピーして、実行する。

URL Rewriteについても同様に以下のサイトにアクセスしてx64 installerをインストールして実行する

URL Rewrite : The Official Microsoft IIS Site

インストールが完了するとIISに「URL書き換え」というのが追加されます。今回はこれを使います。

「サーバーマネージャー」⇒「ツール」⇒「IISマネージャー」

「サイト」を右クリックして「Webサイトの追加」をクリック

画像のように入力し「OK」をクリック

Default Web Siteの方は停止しておく

「URL書き換え」をクリックして、規則の追加をクリック

リバースプロキシをクリック

以下のような警告が表示された場合は、OKをクリック

受信規則にサーバ名を入力。「SSLオフロードを有効にする」にもチェックを付ける

testsiteがWEBサーバに名前解決できるためにhostsを記載する。こちらもWindowsFirewallがあればめんどいので切っておく。

ブラウザを立ち上げURL(http://rproxy01:8080)にアクセスし、WEBサーバのindex.htmの内容が表示されることを確認する。

HTTPS化

次にHTTPSでアクセスが可能なようにする。

今回は検証用の環境のため自己証明書でHTTPSサイトを構築する。

以下を参考に自己証明書を作成します。

OpenSSLを利用した自己証明書を作成する | たいやきまんの技術備忘録

IISマネージャー⇒サーバ証明書から「インポート」をクリックする。
作成したpfxファイルを選択し、パスワードを入力しOKをクリック。

サイト⇒「RProxy01」⇒バインド⇒追加をクリック

HTTPSサイトになるように必要事項を記載
OKをクリックする

クライアントからURL(https://rproxy01/)にアクセスしてWEBサイトが表示されることを確認する。
自己証明書なので信頼できないサイトの表示があるが無視して進んでOK

コメント

タイトルとURLをコピーしました