IIS の ARR を使って Plone を呼び出す

いままでに「Plone を入れてみる」、「Plone のためのセキュリティが強化された Windows Firewall」、「IIS 7.5 でリバースプロキシを構成するための準備」と Plone をインターネットから素直にアクセスできるようにするための準備をしてきた。 
後は「IIS 7.5 でリバースプロキシを構成するための準備」でインストールした Application Request Routing モジュールを使って、プロキシの設定をするだけだ。

まずは IIS マネージャーを立ち上げ、Application Request Routing Chace のアイコンをダブルクリックすると、Application Request Routing Chace の画面が表示される。
なお、Application Request Routing Chace のアイコンは、サーバーのホームにしか表示されない。

Server Home on IIS Manager

Application Request Routing Cache の画面で、右側の操作ペインの「Server Proxy Setting...」をクリックする。
真ん中のペインが Apprication Request Routing の画面に代わる。
ここにある「Enable proxy」ラジオボックスにチェックを入れる。
これ以外の欄は一切触る必要は無い。

Application Request Routing Cache on IIS Manager Application Request Routing on IIS Manager

「Enable proxy」ラジオボックスにチェックを入れたら、右側の操作ペインで「適用」をクリックする。
操作ペインには何やら警告が表示されているが、何をしているのかは十分承知しているので、特に気にすることはない。
念のために意訳すると、ここには「ルーティングの規則を作っていないので、[URL Rewrite to inspect incoming requests] ラジオボックスを使ってルールを作りましょう」と「[Enable proxy] ラジオボックスをチェックすると、サーバーファームのサーバー以外にリクエストを転送できるようになるので、気をつけなさい」ということが書いてある。
前者については、この後 URL Rewrite モジュールで規則を作成するので、何の問題にもならない。
後者については、このサーバー上ではあるものの IIS とは別の Web サーバー機能にリクエストを転送するために、[Enable proxy] ラジオボックスにチェックを入れたのだから、警告してもらっても困るくらいだが、まぁ仕方ないだろう。

さて続いて、URL Rewrite モジュールでの設定をするのだが、その前にひとつだけ別な作業をしておく。
サーバーのコマンドラインで以下のコマンドを実行する。

mkdir c:inetpubwwwrootplone-site
plone-siteは Plone の公開に使うフォルダー

ここでは Plone を http://maniax3.compnet.jp/plone-site/ という URL で公開するつもりなので、作成するフォルダーは c:inetpubwwwrootplone-site になる。

単に空のフォルダーをを作っただけだが、これを作ると作らないとでは URL Rewrite モジュールの設定の手間が大きく異なってくる。

http://maniax3.compnet.jp/plone-site/ と http://maniax3.compnet.jp/plone-site という、最後の '/' (スラッシュ) の有無しか違いのないにもかかわらず URL としては全く別の意味を持つため、URL Rewrite モジュールがこの URI を対象に処理するときにも、これらを別のものとにして扱わなくてはならない。

しかし、plone-site フォルダーを作っておくと、スラッシュ無しの http://maniax3.compnet.jp/plone-site がフォルダーを指していることを IIS が認識して、最後に '/' (スラッシュ) を追加してくれる。

これによって、URL Rewrite モジュールではスラッシュの有無を考慮する必要がなくなる。

フォルダーを作ったら、IIS マネージャーに戻って左側のペインを見ると、サイトの中に作ったばかりの フォルダーがみえる。

このフォルダーをクリックし、続いて真ん中のペインで URL Rewrite のアイコンをダブルクリックする。

Folder selected at Site on IIS Manager

URL Rewrite の画面に変わったら、右側の操作ペインの [Add Rules...] をクリックする。

「Add rule(s)」ダイアログが表示されるので、[Inbound rules] グループにある [Blank rule] を選択して [OK] ボタンをクリックする。

URL Rewrite on IIS Manager Add Rules Dialog

「Edit Inbound Rule」の画面では以下のように入力した後に、右側の操作ペインの [適用] をクリックしてルールを作成する。

Name Proxy for Plone 単なる見出しなので任意の文字列で可
Match URL
  Request URL Matches the Pattern  
  Using Reqular Expressions  
  Pattern ^(.*)  
  Igonre case CHECKED  
Conditions
  Logical grouping Match All 「Match All」と「Match Any」のどちらでも可
 
Input Type Pattern
     
何も登録しない
  Track capture groups across conditions UNCHECKED  
Server Valiables
 
Name Value Replace
     
何も登録しない
Action
  Action Type Rewrite  
  Action Propertyes
  Rewrite URL /localhost:8080/VirtualHostBase/http/maniax3.compnet.jp:80/Plone/VirtualHostRoot/_vh_plone-site/{R:1} 一連の文字列
  Append query string CHECKED  
  Log rewriten URL UNCHECKED  
  Stop Processing of subsequent rules CHECKED  
Edit Inbound Rule on IIS Manager

ルールを作成したら :8080 を付ける必要もなく、 http://maniax3.compnet.jp/plone-site (インストール マニアックス 3 のルールに規定される公開期限を過ぎたために、サイトを閉鎖した) で Plone にアクセスできるようになる。

Plone top page

この Plone のサイトは、折角なので年初に作成したインストールマニアックス 3 のサーバーで構築してみた。

コメントを残す