Internet Information Services(IIS)¶
前提条件¶
ベースURLの設定Internet Information Services(IIS) を使用する場合ベースURLの設定が必要です。コラム
- ベースURLには <httpもしくはhttps>://<IISのIPアドレス>:<IISのポート番号>/<コンテキストパス> を設定します。
- 構築するサーバ環境に応じて適切に設定してください。
- ベースURLについての詳細は、ベースURLを参照してください。
Internet Information Services(IIS) を稼働させるには「Application Request Routing」が必要です。下記「Application Request Routing」のホームページよりインストーラをダウンロードし、以下の手順でセットアップを行ってください。以降の手順では Windows Server 2012 に Application Request Routing 3.0 をインストールし、IIS を設定する例を記載します。コラム
URL(2014年4月現在)
- Application Request Routing ホームページ http://www.iis.net/downloads/microsoft/application-request-routing
- Application Request Routing 3.0 インストーラ http://www.microsoft.com/web/handlers/webpi.ashx?command=getinstaller&appid=ARRv3_0
設定¶
Resin へ接続するための設定を行います。以降の手順では下記の環境を想定した手順を記載します。
intra-mart Accel Platform のコンテキストパス
imart
IIS のルート ディレクトリ
C:\inetpub\wwwroot
静的ファイルの展開フォルダ
C:\imart
Resin の IP アドレス
192.168.1.1
Resin のポート番号
8080
Internet Information Services(IIS) と Resin を接続するための設定ファイル <web.config> を <C:/inetpub/wwwroot> 直下に作成します。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.web> <httpRuntime maxRequestLength="102400" requestPathInvalidCharacters="" /> <customErrors mode="Off" /> </system.web> <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="104857600" /> </requestFiltering> </security> <httpErrors errorMode="Detailed" /> <rewrite> <rules> <clear /> <rule name="ReverseProxyInboundStatic" stopProcessing="true"> <match url="^imart/(.*\.gif|.*\.png|.*\.jpg|.*\.css|.*\.js|.*\.swf|.*\.ico|.*\.json|.*\.jar|.*\.xml|.*\.yaml|.*\.txt|.*\.html|.*\.htm)$" /> <action type="None" /> </rule> <rule name="ReverseProxyInboundDynamic" stopProcessing="true"> <match url="^imart/(.*)" /> <action type="Rewrite" url="http://192.168.1.1:8080/imart/{R:1}" /> </rule> </rules> </rewrite> </system.webServer> </configuration>コラム
web.config とは Internet Information Services(IIS) の構成ファイルです。注意
web.config ファイルは im-Juggling 上では編集できません。 サーバ環境に合わせて web.config 内の下記の要素等を適宜変更します。
maxRequestLength, maxAllowedContentLength 属性
- アップロードのファイルサイズの制限を変更する場合には、maxRequestLength, maxAllowedContentLength 属性の設定を変更してください。(上記の例では 100 MB)
コラム
web.config の詳細は以下のリファレンスを参照してください。 インターネット インフォメーション サービス (IIS) マネージャー より「IIS サーバ(ここでは WIN-QDQ41RVOU80)」「Application Request Routing Cache」「機能を開く」の順にクリックします。 「Server Proxy Settings...」をクリックし、「Application Request Routing」設定画面を表示します。 「Enable Proxy」をチェックし、「Time-out (seconds)」にタイムアウト値を秒単位で設定します。さらに、「適用」をクリックし、設定を反映します。コラム
「Time-out (seconds)」には Application Request Routing が Resin への接続を切断するまでのタイムアウト時間を設定します。テナント環境セットアップを完了するのに十分に大きい値を設定してください。ここでは例として 1200 秒を設定しています。 「変更内容は正常に保存されました。」と表示されていることを確認してください。 続いて、静的ファイル用の仮想ディレクトリを作成します。左ペインの「Default Web Site」のサブメニューより「仮想ディレクトリの追加...」をクリックします。新規ウィンドウ内で「エイリアス(A)」、「物理パス(P)」を次のように設定し、「OK」をクリックします。
エイリアス
imart
物理パス
C:\imart
「imart」ディレクトリが作成されていることを確認してください。
静的ファイルの配置¶
im-Juggling から取得した「静的ファイル」を、仮想ディレクトリに設定した「物理パス」のディレクトリに展開します。静的ファイルの出力についての詳細は、静的ファイルの出力を参照してください。
アクセスログの編集¶
リバース Proxy の場合、Resin が出力する access.log のソース IP がすべて IIS の IP になってしまいます。 これを回避するために access.log の出力内容を編集します。
<%RESIN_HOME%/conf/resin.xml> ファイルを開きます。
<host id=”” root-directory=”.”> ディレクティブ内に以下の設定を追加して Resin の再起動を行ってください。
<access-log path='log/access.log'> <rollover-period>1D</rollover-period> <format>%{X-Forwarded-For}i %h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"</format> </access-log>コラム
access.log についての詳細な設定内容については「Resin Documentation 」を参照してください。