CommuniGate Pro
Version 5.1
サービスモジュール
 
 
 
HTTP

HTTP モジュール

CommuniGate Pro のHTTP モジュールにより、TCP/IP ネットワーク上でのハイパーテキスト転送プ ロトコル(HTTP) が実装されます。HTTP モジュールとしては次の2 種類があります。

HTTP Admin モジュール(管理モジュール)。機能は次の通りです。

HTTP User モジュール(ユーザーモジュール)。機能は次の通りです。

HTTP モジュールは、GSSAPI や Kerberos証明書など(シングルサインオンが可能) など各種の認 証方式をサポートしています。

サーバーWebAdmin インターフェイスページへのアクセス

サーバー管理者は、任意のWeb アプリケーション上でWeb (HTML) フォームを使ってリモートか らCommuniGate Pro サーバーの設定と監視を行うことができます。

HTTP プロトコルでは認証スキームがサポートされていますが、このスキームによってサーバー WebAdmin インターフェイスページは不法なアクセスから保護されます。つまり、サーバー WebAdmin インターフェイスページにアクセスする場合、ユーザーは、CommuniGate Pro のアカウン トの名前とパスワードを入力しなければならず、しかも、そのアカウント(ユーザー) には サーバーアクセス権が付与されていなければなりません。

HTTP Admin モジュールは、デフォルトでは、TCP ポート8010 でクリアテキストTCP/IP 接続、TCP ポート9010 でセキュア(SSL/TLS) 接続を実行するように設定されています。

したがって、デフォルトでは、サーバー管理者がサーバーWebAdmin インターフェイスページにアク セスする場合、次のURL を使用しなければなりません。
http://domain.com:8010

https://domain.com:9010
上で、domain.comは、CommuniGate Pro サーバーのメインドメインの名前、またはエイリアス、もし くはCommuniGate Pro サーバーのIP アドレスです。

Server configuration errors can cut you off the WebAdmin Server Interface, if all your Server IP addresses and DNS names are assigned to secondary Domains.

To access the WebAdmin Server Interface, use the following URLs:
http://sub.domain.com:8010/MainAdmin/
https://sub.domain.com:9010/MainAdmin/
where sub.domain.com is any name pointing to your Server computer or any of the Server IP addresses.

ドメインWebAdmin インターフェイスページへのアクセス

CommuniGate Pro サーバーでセカンダリドメインを作成し、使用している場合、ドメイン管理者は、そのセカンダリドメインのポートを使ってセカンダリドメインにアクセスし、設定を行ったりアカウントリストを管理したりできます。

ドメイン管理者は、次のURL を使ってセカンダリドメインにアクセスできます。
http://sub.domain.com:8010
https://sub.domain.com:9010
上で、domain.comは、アクセス先のドメイン(セカンダリドメイン) の名前です。

アクセスの際には、ユーザー(アカウント) 名とパスワードの入力を求められます。ここで、そのユー ザーにドメイン管理者アクセス権が付与されている場合、ドメインのアカウントのリストが表示され ます。

場合によっては、上記のURL が使用できないこともあります。例えば、セカンダリドメインにDNS のA レコードがない(つまりMX レコードのみの) 場合には、上のURL は使用できません。こういっ た場合、ドメイン管理者は、次のURL ( メインドメインを経由) を使ってアクセスを行わなければな りません。

http://domain.com:8010/Admin/sub.domain.com/
上で、
domain.com は、CommuniGate Pro サーバーのメインドメインの名前、またはエイリアス、 もしくはCommuniGate Pro サーバーのIP アドレスです。
sub.domain.com は、アクセス先のドメインの名前です。

なお、サーバーのIP アドレスとDNS 名をすべてセカンダリドメインに割り当てている場合、設定エ ラーが発生したときには、サーバーWebAdmin インターフェイスの機能が停止することがあます。そ の場合、次のURL を使用します。

Administrated Domains
node100.example.com settings
test-dom.example.com settings

You can open their WebAdmin Domain Interfaces using the links on this page. Remember that you should login using your full Account name (yourAccountName@yourDomainName) when accessing other Domain WebAdmin pages.


WebUser インターフェイスへのアクセス

CommuniGate Pro のユーザーは、任意のWeb ブラウザ(HTTP プロトコル経由) を使って CommuniGate Pro サーバーにアクセスし、自分のアカウントの管理やメールボックスの閲覧を行 えます。また、メールのチェック、コピー、削除、転送のほか、別のメールボックスへのメー ルの移動、新規のメールの作成や送信といった作業も可能です。こういった処理はCommuniGatePro コンポーネントによって実行され、このコンポーネントをWebUser インターフェイスと呼 んでいます。

CommuniGate Pro の登録ユーザー、またゲストユーザーは、WebUser インターフェイスを使ってメーリングリストアーカイブを閲覧できます。

BHTTP User モジュールは、デフォルトでは、TCP ポート8100 でクリアテキストTCP/IP 接続、 TCP ポート9100 でセキュア(SSL/TLS) 接続を実行するように設定されています。CommuniGate Pro が動作するコンピュータ上で何らかのWeb サーバーを使用する必要がない場合、このデフォ ルトのポートはそれぞれ80 と443 に変更することを推奨します。80 は標準HTTP ポート番号、 443 は標準HTTPS ポート番号です。
上のように変更した場合、ユーザーは、ブラウザ上でポート番号を指定する必要がなくなりま す。


アカウントのファイルストレージへのアクセス

CommuniGate Pro ユーザーは、自分のファイルストレージをパーソナルWeb サイトとして使用でき ます。詳細については、「ファイルストレ」のセクションを参照してください。

特定のドメインの特定のアカウント(accountName@domainName) のファイルストレージ(パーソナ ルWeb サイト) は、URL では次のように示すことができます。
http://domainName:port/~accountName
https://domainName:port/~accountName
上で、port はHTTP ユーザーポート(デフォルトでは8100 または9100) です。

また、次のようにして、ファイルストレージの中のファイルのリストを表示することもできます。

http://domainName:port/~accountName/index.wssp
https://domainName:port/~accountName/index.wssp
上のリストは、アカウントのオーナーだけが表示できます。このリストを使って、ファイルストレー ジの中のファイルの管理が可能です。

ファイルストレージの接頭辞はデフォルトではチルダ(~) ですが、この接頭辞はドメイン設定を 使って変更できます。空白の文字列(接頭辞なし) にすることもでき、その場合、パーソナルWeb サイトへのアクセスに使用するURL は次のようになります。

http://domainName:port/accountName/
https://domainName:port/accountName/

また、CommuniGate Pro のルータを使用して、特定のドメインのパーソナルWeb サイトにアクセス (URL を使用) することもできます。詳細については、下記のルーティングの説明を参照してくださ い。


カレンダーデータ、タスクデータへのアクセス

HTTP User モジュールには、グループウェアアプリケーション(Apple iCal など) と通信を行う機能 があり、この通信を介して、グループアプリケーションのカレンダーメールボックスやタスクメール ボックスのデータをiCalendar フォーマットで取り出すことが可能です。この処理をカレンダーデータ に対するサブスクライビングと呼ぶこともあります。また、グループウェアアプリケーションのメー ルボックスのデータをiCalendar フォーマットのデータに書き換えるといった処理も行えます( この処 理をカレンダーデータのパブリッシュと呼んでいます)。

ユーザーは、次のURL を使って自分のカレンダーデータにアクセスできます。
http://servername:port/CalendarData/mailboxName
https://servername:port/CalendarData/mailboxName
上で、port はWebUser インターフェイスのポート(デフォルトでは8100) です。mailboxName はメー ルボックス(カレンダーメールボックス) 名で、名前がics ファイル拡張子で終わる場合、ics は 自動的に削除されます。

カレンダーデータ要求はいずれも認証が必要であり、したがって、カレンダーデータにアクセスする 場合、アカウント名をパスワードを指定しなければなりません。

例えば、ユーザーのドメインの名前またはエイリアスがmail.company.com、WebUser インターフェイ スのポートが80、メールボックスの名前がCalendar の場合、カレンダーデータにアクセスすると きのURL は次のようになります。
http://mail.company.com/CalendarData/Calendar
または
http://mail.company.com/CalendarData/Calendar.ics

カレンダーデータのほか、タスクデータも上記の形式のURL でアクセスできます。なお、別のアカウ ント(ユーザー) のメールボックスにアクセスするときには、次のように正規のメールボックス名 (ユーザー名付き) を指定しなければなりません。

http://mail.company.com/CalendarData/~username/Calendar.ics
上のように別のユーザーのメールボックスにアクセスしてデータを取り出したり編集したりする場 合、アクセスするユーザーは正規のユーザーであり、また所定の
アクセス権が付与されていなければ なりません。

HTTP User モジュールでは、カレンダーデータに関して次のHTTP 処理がサポートされています。

アプリケーションによってはDELETE メソッドがサポートされていないこともあります。これは、 この種のアプリケーションでは、PUT 処理の際、追加に先立って以前の情報がカレンダーデータか らすべて削除される仕様になっているためです。このようなアプリケーションの場合、URL で CalendarData の代わりにCalendarDataDel を指定します。または、URL にDeleteAll=1 を指定 します。このようにすることで、PUT 処理の前に仮想DELETE 処理が実行され、カレンダーデータ の中の既存の情報がすべて削除されます。


HTTP モジュールのカスタマイズ

HTTP モジュール(HTTP Admin モジュールまたはHTTP User モジュール) はカスタマイズが可能で す。カスタマイズする場合、任意のWeb ブラウザ上でCommuniGate Pro サーバーの管理ポートに接 続し、[Settings] セクションの[Access] ページを開きます。パラメータは、下記の通りです。

処理
ログレベル: チャネル: リスナー
要求サイズの制限: 大きな要求サイズをスキャン
  'Keep-Alive' サポート

HTTPオプション
'Basic' 認証の通知 'Digest' 認証の通知
'NTLM' 認証の通知 'Negotiate' 認証の通知

ログレベル
ログレベルのオプションで、ここでHTTP モジュールによりサーバーログ(システムログ) に 記録される情報の種類を指定できます。通常、[Major] または[Problems] に設定しておきます (非致命的エラーレベルです)。なお、HTTP モジュールに問題が発生するときには、このログレ ベルの設定を[Low-Level] または[All Info] に変更します。このように設定しておくと、 プロトコルレベルまたはリンクレベルの詳細な情報がシステムログに記録されます。
システムログのレコードのうち、HTTP Admin モジュールに関するレコードにはHTTPA タグが 付けられます。
システムログのレコードのうち、HTTP User モジュールに関するレコードにはHTTPU タグが付 けられます。
チャネル
このオプションでは、HTTP モジュールが処理できる同時TCP/IP 接続の最大数を指定できます。 ほとんどのWeb ブラウザでは、複数の接続を介してHTML ページやページに埋め込まれている 画像がロードされます。そのため、この設定は通常、5 未満の値にはしないでください。5 未満 に設定すると、Web ブラウザによっては、埋め込み画像が正常にダウンロードされないことが あります。
リスナー
このリンクをクリックすると、HTTP Admin ポートまたはHTTP User ポート(現在、どちらの モジュールをカスタマイズしているかによって異なります) のリスナー設定ページが開きます。このページで、リスナーのTCP ポート番号、インターフェイス、その他のオプションを設 定できます。

CommuniGate Pro が動作しているコンピュータで別のWeb サーバーアプリケーションを動作させて いる場合、HTTP モジュールのポート番号としては「二次範囲」のポート番号を指定します。二次範 囲のポートとは、一般に8000 から8100 の範囲をいいます(HTTP モジュールは、デフォルトでは、 そのように設定されています)。例えば、HTTP モジュールのポート番号を8010 に設定した場合、 Web ブラウザ上でhttp://xxx.yyy.zzz:8010 と入力することで、CommuniGate Pro サーバーに アクセスできます。ここで、xxx.yyy.zzzはCommuniGate Pro サーバーのドメイン名(A レコード) またはIP アドレスです。

要求サイズの制限
このオプションでは、CommuniGate Pro サーバーで処理可能なHTTP 要求の最大サイズを指 定できます。このサイズを大きくすると、ユーザーは、WebUser インターフェイスで大きな ファイルをアップロードしたり、大きなファイルをメールに添付できるようになります。
'Keep-Alive' サポート
このオプションを有効にしておくと、CommuniGate Pro でHTTP のキープアライブ機能が使 用されるようになります。この場合、ユーザーは同じHTTP 接続を使って複数のファイルを 取り出すことができます。ただし、Web ブラウザによっては、この機能がサポートされてい ないこともあり、このオプションを有効にすると、その種のブラウザで問題が起こることが あります。
大きな要求サイズをスキャン
このオプションが無効の場合、CommuniGate Pro サーバーで受信されたHTTP 要求のサイズ が指定の上限を超えていたときには、CommuniGate Pro サーバーからエラー応答が出力され ると同時に接続が閉じられます。ただし、大半のブラウザでは、このエラー応答は表示され ません。代わりに、「接続が切断されました」という汎用エラーメッセージが表示されます。 一方、このオプションを有効にしておいた場合、CommuniGate Pro サーバーからエラー応答 が出力されますが、要求は受け取られます(ただし、保存はされません)。その後、ブラウ ザにエラーメッセージが表示されます。
'Basic' 認証の通知, 'Digest' 認証の通知,
'NTLM' 認証の通知, 'Negotiate' 認証の通知
認証オプションです。それぞれ有効にしておくと、CommuniGate Pro サーバーからブラウザ に対して、セキュア認証(ベーシック、ダイジェスト、NTLM、ネゴシエート) が可能であ ることがアドバタイズされます。インターネット上でクリアテキスト(非暗号化) リンクを 使ってWebAdmin インターフェイスに接続する場合、必要なオプションを有効にしておきま す。なお、このオプションの機能は、ブラウザによって扱いが異なります。ブラウザによっ ては機能しない場合もありますし、このオプションを有効にしても、クリアテキスト認証の ままのこともあります。そのため、この2 つのオプションは、状況に応じて有効にするようにします。
注意: GSSAPI (Kerberos) 認証方式を使用する場合、必ず[Advertise Negotiate AUTH] オプションを有効にしておきます。

HTTP モジュールでは、送信されるオブジェクトすべてについて、そのコンテンツタイプがMIME に 設定されます。プレーンファイルの場合、そのファイル拡張子をもとに、次の内蔵テーブルを使って コンテンツタイプが検出されます。

ファイル拡張子  MIMEタイプ
htmltext/html
txttext/plain
gifimage/gif
jpgimage/jpeg

この内蔵テーブルはカスタマイズできます。カスタマイズする場合、下記のページで、ファイル拡張 子と、その拡張子に対応するMIME コンテンツタイプを指定します。

MIMEタイプ
ファイル拡張子MIMEタイプ

ルーティング

HTTP モジュールでは、ルータを使ってすべてのアドレスが処理されます。ルータはアクセスモ ジュールですが、他のアクセスモジュールとは異なり、ルータの場合、通常、正規の電子メールアド レスではなくアドレスの中のドメイン名だけを使って処理が行われます。

要求がWebAdmin ポート(WebAdmin インターフェイスのポート) で受信された場合、HTTP モジュー ルによって、URL として指定されたドメイン名またはIP アドレスをもとに、表示されるドメイン管理 ページが決定されます。

一方、要求がWebUser ポート(WebUser インターフェイスのポート) で受信された場合、HTTP モ ジュールによって、URL として指定されたドメイン名またはIP アドレスをもとに、アクセス先のドメ イン(そのドメインのログインページ、メーリングリスト、パーソナルWeb サイトなど) が決定され ます。

上記のどちらの場合も、HTTP モジュールによって、電子メールアドレスとして LoginPage@domainname ( domainname はURL に指定されたドメイン名) が生成され、この電子 メールアドレスがルータによって処理されます。この処理により、CommuniGate Pro のルーティング 機能(ルータテーブル、ドメインエイリアス、IP アドレスのドメインへのマッピングなど) がサ ポートされます。ルータによる処理は、次のようにして実行されます。

例(ルータ レコード、domainA.com はCommuniGate Pro のドメイン) :

mail2.domain.com = domainA.com
URL がhttp://mail2.domain.com/ で、アドレス がアドレス にルーティングされる場合、domainA.com のWeb イン ターフェイスが開きます。
<LoginPage@mail2.domain.com> = user@domainA.com
URL がhttp://mail2.domain.com/ で、アドレス<LoginPage@mail2.domain.com> がLOCAL のアカウントであるuser@domainA.com にルーティングされる場合、 user@domainA.com のパーソナルWeb サイトが開きます。
<LoginPage@mail2.domain.com> = subDir@user@domainA.com.domain
URL がhttp://mail2.domain.com/ で、アドレス がLOCAL のアカウントであるuser@domainA.com にルーティングされ、また、ローカルアド レス部にサブディレクトリ(subDir) が指定されている場合、user@domainA.com のパーソナ ルWeb サイトのサブディレクトリが開きます。

コモンゲートウェイインターフェイス(CGI)

HTTP User モジュールには、CGI プログラム/ スクリプトを実行する機能があります。HTTP User モ ジュールを介してCGI プログラムを実行したい場合、URL として/cgi-bin/programName (programName はプログラム名) 指定します。なお、programName のプログラムは、あらかじめ CommuniGate Pro のCGI ディレクトリ(指定可能) に置いておかなければなりません。

CGI ディレクトリとCGI プログラムの設定は、[Settings] セクションの[WebUser] ページで行えます。

CGIアプリケーション
CGIディレクトリ:
ファイル拡張子起動プログラム
HTTPヘッダーフィールド
CGIディレクトリ
このフィールドには、CGI プログラムの格納先のシステムファイルディレクトリを指定しま す。このディレクトリは、CommuniGate Pro のベースディレクトリの中に定義することもで き、その場合、パスは、ベースディレクトリからの相対パスで指定できます。そうでない場 合、絶対パスで指定しなければなりません。
ファイル拡張子
オペレーティングシステム(Unix など) によっては、明示的にインタプリタを起動しなくて もCGI プログラム/ スクリプトを起動できるものもあり、一方、インタプリタを明示的に起 動しなければならないシステムもあります。CommuniGate Pro サーバーでは、インタプリタ の名前と、そのファイル拡張子を登録しておくことができ、この方法によって上記の両方の オペレーティングシステムがサポートされます。登録しておくと、CGI プログラム/ スクリ プトを拡張子付きで指定した場合、起動時には、その拡張子に対応するインタプリタの名前 が自動的にOS レベルのコマンドラインに付加され、CGI プログラム/ スクリプトが起動し ます。
例えば、URL に/cgi-bin/script.pl と指定したとします。
Perl.exe script.pl
この場合、上のコマンドを使ってスクリプト(script.pl) が起動されます。
HTTPヘッダーフィールド
このフィールドには、カスタムの非標準HTTP 要求ヘッダフィールドを指定できます。この ヘッダフィールドがCGI アプリケーションに渡されます。具体的には、HTTP 要求に、ここ で指定したフィールド(名) を格納したヘッダ行があった場合、そのヘッダ行は環境変数 HTTP_H_convertedFieldName としてCGI アプリケーションに渡されます。ここで、 HTTP_H_convertedFieldName は指定したフィールド名(すべて大文字に変換されます) で、また指定したフィールド名のマイナス(-)記号はすべて下線(_)に変換されます。

CGI プログラムは、WebUser インターフェイスの拡張機能として使用できます。例えば、PWD モ ジュールを介してCommuniGate Pro サーバーにログインし、CLI/API処理を行ったり、IMAPモ ジュールを介してメールボックスのデータにアクセスし、編集を行うといった処理が可能です。ま た、CGI プログラムをWebUser 認証に利用して、ログイン処理を簡略化することもできます。


CommuniGate® Pro Guide. Copyright © 1998-2007, Stalker Software, Inc.