Webサーバ設定

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004 (Modified)


データベース環境設定のWebテーマで定義されたパラメタを使用して、4D Webサーバの動作を設定できます。この節ではこのテーマの設定詳細、そしてオプションページのパラメタ、およびアプリケーション/互換ページの“Web互換性”エリアについて説明します。

設定ページ


起動時にデータベースを公開する

4Dアプリケーションの起動時にWebサーバを起動するか指定します。このオプションはWebサーバ設定と接続管理の節で説明しています。

TCPポート番号

デフォルトで、4Dは通常のWeb TCPポート番号である80番を使用してWebデータベースを公開します。他のWebアプリケーションによってこのポート番号が既に使用されている場合、4Dが使用するポート番号を変更する必要があります。

ポート番号を変更するには、TCPポート入力エリアに適切な値 (同じマシン上で動作する他のTCP/IPサービスが使用していないTCPポート番号)を指定します。

Note: 0を指定すると、4DはデフォルトのTCPポート番号80を使用します。

デフォルトでないTCPポート番号を使用して公開されたWebサーバに接続するには、Webブラウザに入力するアドレスに使用するポート番号を含めなければなりません。アドレスの後にコロンに続けてポート番号を指定します。例えばTCP番号8080を使用する場合、“123.4.567.89:8080”のように書きます。

警告: デフォルトのTCPポート番号 (標準モードで80、SSLモードで443) 以外を使用する場合、同時に使用する他のサービスのデフォルトポート番号を使用しないよう注意してください。例えば、WebサーバマシンでFTPプロトコルを使用する計画である場合、(あなたが何を行おうとしているか分かっていないのであれば) このデフォルトポートであるTCPポート20と21は使用してはいけません。標準のTCPポート番号割り当てを知るには、4D Internet CommandsのAppendix B - TCPポート番号の節を参照してください。256より下のポート番号はwell-knownサービスに予約されています。256から1024はUNIXプラットフォーム由来のサービスに予約されています。互換性のためにこれらの数値よりも上、例えば2000台や3000台などを指定します。

HTTPリクエストを受け付けるIPアドレスの指定

WebサーバがHTTPリクエストを受け付けるIPアドレスを指定できます。

デフォルトで、サーバはすべてのIPアドレスへのリクエストに応答します (すべてオプション)。

ドロップダウンリストにはマシンで利用可能なIPアドレスがリストされます。特定のアドレスを指定すると、サーバはこのIPアドレスへのリクエストにのみ応答します。

この機能は複数のIPアドレスが設定されたマシン上で動作する4D Webサーバのためのものです。これはしばしばインターネットホストプロバイダで使用されます。

このようなマルチホーミングシステムの実装はWebサーバマシン上での特定の設定を必要とします:

・Mac OSにセカンダリのIPアドレスをインストールする

Mac OS上でマルチホーミングを設定するには:

1. Open Transport バージョン 1.3以降を使用しなければなりません。この新しい機能はこのバージョンのOpen Transportでのみ有効です。

2. TCP/IP コントロールパネルを開きます。

3. 設定ポップアップメニューから手動オプションを選択します。

4. テキストファイルを"Secondary IP Addresses"という名称で作成し、SystemフォルダのPreferencesサブフォルダに保存します。

"Secondary IP Addresses"ファイルの各行にセカンダリIPアドレスと、オプションでサブネットマスクおよびセカンダリIPアドレス用のルータアドレスを記述します。

Apple社のOpen Transportのドキュメントを参照してください。

・WindowsにセカンダリのIPアドレスをインストールする

Windows上でマルチホーミングを設定するには:

1. OSごとに以下のコマンドを選択します:

・Windows NT: Start メニュー > 設定 > コントロールパネル > ネットワーク コントロールパネル > プロトコル タブ > TCP/IP プロトコル > プロパティ ボタン > 詳細

・Windows 2000: Start メニュー > 設定 > ネットワークとダイアルアップ接続 > ローカルエリア接続 > プロパティ ボタン > インターネットプロトコル (TCP/IP) > プロパティ ボタン > 詳細

"詳細 TCP/IP 設定" ダイアログボックスが表示されます。

・Windows XP: Start メニュー > コントロールパネル > ネットワークとインターネット接続 > ネットワーク接続 > ローカルエリア接続 (プロパティ) > インターネットプロトコル (TCP/IP) > プロパティ ボタン > 詳細... ボタン

"詳細 TCP/IP 設定" ダイアログボックスが表示されます。

2. "IPアドレス"エリアの追加... ボタンをクリックし、IPアドレスを追加します。

最大5つまでIPアドレスを定義できます。これを行うにはシステム管理者に問い合わせる必要があります。詳細はWindowsのドキュメントを参照してください。

WebサーバにSSLを許可する

Webサーバがセキュアな接続を受け入れるか受け入れないかを指定します。このオプションはSSLプロトコルの使用の節で説明します。

HTTPSポート番号

SSL (HTTPSプロトコル) を使用したセキュアなHTTP接続に対してWebサーバが使用するTCPポート番号を指定できます。デフォルトでHTTPSポート番号は443です。

この番号の変更を検討する主な理由は2つあります:

・セキュリティ: 攻撃者は標準のTCPポート (80 and 443) に集中して攻撃を仕掛けてくるかもしれません。

・Mac OS Xでは、特定のポート番号 (0 から 1023) を使用してWebサーバを起動するには、特別なアクセス権を必要とします。rootユーザだけがこれらのポートを使用するアプリケーションを起動できます。標準ユーザがWebサーバを起動するには、TCPポート番号の変更が一つのソリューションとなります (Webサーバ設定と接続管理 の節参照)。

有効であれば何番でも渡すことができます (Mac OS X 上でのアクセス上の制限を避けるためには、1023より上の番号を指定します)。TCPポート番号に関する詳細は、先述の “TCPポート番号” を参照してください。

デフォルトHTMLルート

Webサイトファイルのデフォルトの位置を指定し、ディスク上でその場所より階層的に上のファイルにアクセスできない場所を指定します。このオプションは接続セキュリティの節で説明しています。

デフォルトホームページ

Webセッションの (コンテキストまたは非コンテキスト) モードにかかわらず、データベースに接続するすべてのブラウザのデフォルトホームページを指定します。このページはスタティックでもセミダイナミックでも可能です。

デフォルトでWebサーバが最初に起動されたとき、4Dは“index.html”という名前のホームページを作成し、HTMLルートフォルダに置きます。この設定を変更しない場合、Webサーバに接続するブラウザには以下のようなページが表示されます:

デフォルトホームページを変更するには、ルートフォルダの“index.html”ページを置き換えるか、使用するページのアクセス相対パスを"デフォルトホームページ"エリアに入力します。

アクセスパスはデフォルトHTMLルートからの相対パスで設定しなければなりません。

データベースのマルチプラットフォーム互換性を確保するために、4D Webサーバは特別なアクセスパスの記法を使用します。シンタックスルールは以下のとおりです:

・フォルダはスラッシュ (“/”) で区切ります。

・アクセスパスはスラッシュ (“/”) で終わっていてはなりません。

・フォルダ階層を1レベル上がるには、フォルダ名の前に “../” を記述します。

・アクセスパスはスラッシュ (“/”) で始まっていてはいけません。

例えばデフォルトホームページを、デフォルトHTMLルートフォルダ内のWebサブフォルダにある“MyHome.htm”にする場合、“Web/MyHome.htm”と入力します。

Note: SET HOME PAGEコマンドを使用して、Webプロセスごとにデフォルトホームページを設定できます。

デフォルトのカスタムホームページを指定しない場合、Webサーバの動作は開始モードにより異なります:

・非コンテキストモードで開始されたWebサーバ (標準モード) では、On Web Connection データベースメソッドが呼び出されます。プロシージャでリクエストを処理するのは開発者の役割です。

・コンテキストモードで開始されたWebサーバでは、カレントメニューバー (デフォルトでメニューバー番号1) がホームページとして送信されます。

開始時のモード

Webサーバが開始されるときのモードを指定します。このオプションはコンテキストモードの利用の節で説明しています。

一時的なコンテキストを再利用する (リモートモードの4Dでのみ表示)

前のWebリクエストを処理するために作成されたWebプロセスを再利用することによって、4DリモートモードのWebサーバの動作を最適化できます。実際、4DリモートモードのWebサーバはそれぞれのWebリクエストを処理するために専用のWebプロセスを必要とします。必要であれば、このプロセスは4D Serverマシンに接続してデータやデータベースエンジンにアクセスします。そしてプロセス独自の変数やセレクションを使用してコンテキストを作成します。リクエストの処理が終了すると、このプロセスは廃棄されます。

一時的なコンテキストを再利用するオプションがチェックされていると、4Dは4Dリモートモード上で作成された固有のWebプロセスを保守し、その後のリクエストで再利用します。プロセスの作成処理が省略されるため、Webサーバのパフォーマンスが向上します。

他方このオプションを使用する場合、不正な結果が返されることを避けるために、4Dメソッド内で使用される変数をシステマチックに初期化するようにしてください。同様に、以前のリクエストで使用されたカレントセレクションやカレントレコードをアンロードする必要があります。

詳細ページ


スタティックページのキャッシュ

4D Webにはキャッシュがあり、スタティックページ, GIF, JPEG (<128 kb) そしてスタイルシート (.css files) などがリクエストされると、メモリにロードされます。

キャッシュの利用は、スタティックページの送信時にWebサーバのパフォーマンスを劇的に向上します。

キャッシュはすべてのWebプロセスで共有されます。環境設定でキャッシュのサイズを設定できます。デフォルトでスタティックページのキャッシュは無効になっています。有効にするには、4D Webキャッシュを使用するオプションをチェックします。

ページキャッシュサイズエリアでキャッシュのサイズを変更できます。この設定はスタティックページのサイズや数、およびホストマシンで利用可能なリソースによります。

Note: Webデータベースを利用する間、WEB CACHE STATISTICSコマンドを使用してキャッシュのパフォーマンスを検証できます。例えばキャッシュ利用率が100%,に近い場合、キャッシュに割り当てたメモリ量を増やすことを考慮します。

/4DSTATS と /4DHTMLSTATS URLも、キャッシュの状態を知るために使用できます。Webサイトに関する情報の節を参照してください。

キャッシュが有効になると、4D Webサーバはブラウザからリクエストされたページをまずキャッシュから探します。ページが見つかると、即座にそれを送信します。見つからなければ、4Dはディスクからページをロードし、それをキャッシュに置きます。

キャッシュがいっぱいで、新しいページをキャッシュに置く必要がある場合、4Dは最も使われていないページの中から、もっとも古いページをアンロードします。

キャッシュのクリア

いつでもページやイメージをキャッシュからクリアできます (例えばスタティックページを更新し、キャッシュにそれを利ロードさせたい場合)。

これを行うには、キャッシュクリア ボタンをクリックします。キャッシュは即座にクリアされます。

Webプロセスタイムアウト

Web接続プロセスのタイムアウトを設定します (コンテキストモードのみ)。このオプションはコンテキストモードの利用の節で説明しています。

最大同時Webプロセス


このオプションは、サーバ上で同時に開かれるすべてのWebプロセスの最大同時接続数を設定します(コンテキストモード、非コンテキストモード、プールされたプロセスなどすべて)。このパラメタは、異常な数のリクエストや過度のコンテキスト作成要求による4D Webサーバの飽和状態を避けるために使用します。

デフォルトでこの値は32000です。10から32000の値を設定できます。

最大Web同時接続数 (マイナス1) に達すると、4Dは新しいプロセスを作成せず、“Server unavailable” (ステータス HTTP 503 - Service Unavailable) を返信します。

正しい値を決定する

理論上は、Webプロセスの最大数は以下の式で求められます: 利用可能なメモリ/Webプロセススタックサイズ

他のソリューションはランタイムエクスプローラでWebプロセスを監視することです。Webプロセスの現在数と、Webサーバが実行されてからの最大数が示されます。

Webプロセスのプールについて

Webプロセスのプールは、非コンテキストモードにおけるWebサーバの反応性を向上させます。リサイクルするプロセス数は最小値 (デフォルトで0) から最大値 (デフォルトで10) の間です。この数はSET DATABASE PARAMETER コマンドを使用して変更できます。Webプロセス最大同時接続数が変更されると、プール数の最大値が最大同時接続数を超えている場合は、最大同時接続数まで下げられます。最大同時接続数もSET DATABASE PARAMETER コマンドで設定できます。

JavaScriptを入力制御に使用する


このオプションが選択されていると、コンテキストモードで、ブラウザ上でのデータ入力コントロールの一部が自動のJavaScriptで行われます。

ブラウザ上で適用されるデータ入力コントロールとデータタイプ (フィールドおよび変数) は以下のとおりです:

・最小値 (数値)

・最大値 (数値)

・必須入力 (数値と文字)

生成されるJavascriptは小さなもので、ユーザのデータ入力を妨げることなしに (それは4Dの仕事です) 警告ダイアログを表示します。

事実データ入力エリアに正しくない値が入力されると、ユーザがボタン (OK、キャンセル、その他) をクリックしたときに、ブラウザ上で警告が表示されます:

警告ダイアログが受け入れられると、ユーザが2回目にボタンをクリックしたとき、ボタンのアクションが実行さrます。

完全なデータ入力コントロールは、4D Webサーバにより行われます。

ファイルにリクエストを保存 (logweb.txt)

このオプションを使用して、Webサーバに送信されたリクエストのログをCLFテキスト形式で保存できます。このオプションはWebサイトに関する情報の節で説明しています。

Webパスワード

パスワードを使用したWebサイトアクセス保護の設定を行います。このオプションは接続セキュリティの節で説明しています。

オプションページ


拡張文字をそのまま送信


デフォルトで、4D Webサーバはダイナミックおよびスタティックページの拡張文字を、HTML標準に基づき送信前に変換します。このようなページはブラウザで評価されます。

拡張文字を変換せずそのまま送信するようWebサーバを設定できます。このオプションにより、特に日本語のシステムで速度が向上します。

この設定を行うには、拡張文字をそのまま送信オプションをチェックします。

スタンダードセット


スタンダードセットドロップダウンリストを使用して、4D Webサーバが使用する文字セットを定義できます。デフォルトで文字セットはUTF-8です。

Keep-Alive接続

4DのWebサーバはKeep-Alive接続を使用できます。Keep-Aliveオプションを使用して、一つの開かれたTCP接続でWebブラウザとサーバ間の一連のデータ交換を保守し、システムリソースを節約して、通信を最適化できます。

Keep-Alive接続を使用するオプションは、WebサーバのKeep-Alive接続を有効および無効にします。このオプションはデフォルトで有効になっています。ほとんどの場合、通信が高速化されるため、この状態をお勧めします。WebブラウザがKeep-Alive接続をサポートしない場合、4D Webサーバは自動でHTTP/1.0にスイッチします。

4D WebサーバのKeep-Alive機能はすべてのTCP/IP接続 (HTTP, HTTPS)、コンテキストおよび非コンテキストモードに関連します。しかしながらすべての4D Webプロセスで常にKeep-Alive接続が使用されるわけではないことに留意してください。あるケースでは、内部的な他の最適化機能が呼び出されることがあります。Keep-Alive接続は特にスタティックページで有効です。

Keep-Alive接続を設定する2つのオプションがあります:

接続毎のリクエスト数: ひとつのKeep-Alive接続におけるリクエストとレスポンスの最大数を設定します。接続あたりのリクエスト数を制限することで、サーバのリクエスト過多を避けることができます (攻撃者が使用するテクニック)。

4D Webサーバをホストするマシンのリソースに応じて、デフォルト値 (100) を増減できます。

タイムアウト: この値を使用して、Webブラウザからのリクエストが行われない状態で、Webサーバが開かれた接続を保守する最大の待ち秒数を設定します。この秒数が経過すると、サーバは接続を閉じます。

接続が閉じられた後にWebブラウザがリクエストを送信すると、新しいTCP接続が作成されます。この動作はユーザからは見えません。

Web互換性


環境設定のアプリケーションテーマの互換性ページには、Webサーバの動作を変更するオプションがあります:

ブラケットの代わりに4DVARコメントを使用する


このオプションを使用して、セミダイナミックページに4D変数を挿入する際の記法を指定します。

・オプションが選択されていると (デフォルト)、標準のHTML記法 <!--#4DVAR MYVAR--> (4DVARと変数名の間にはスペースがあります) を使用します。

・このオプションが選択されていない場合、角括弧 ([MYVAR]) の記法を使用します。これは以前のバージョンの4Dで使用されていたものです。

新しいコンテキスト参照モードを使用


このオプションがチェックされていると (デフォルト)、コンテキストモードで、Webサーバはカレントのコンテキスト番号を、ブラウザに送信するドキュメントのベースURLに置きます。

以前のシステム (オプションがチェックされていない) では、4D Webサーバはブラウザに、ページの要素ごとにコンテキスト番号を送信していました。これにより動作が遅くなっていました。

互換性の理由でこのオプションのチェックを外すことができます。この設定を変更した後は、新しい設定を有効にするために、データベースを再起動しなければなりません。

未知のURLから "/" を取り除く

以前のバージョンの4Dでは、未知のURL (ディスク上に存在するファイルや4Dの特別なURLに当てはまりません) はOn Web AuthenticationやOn Web Connectionデータベースメソッドの ($1) 引数に最初の “/” 文字が渡されませんでした。この動作はバージョン2004で取り除かれました。

しかし、この動作を前提としたプログラミングを行っているなどの理由で、それを保持したい場合、未知のURLから “/” を取り除く オプションを選択できます。デフォルトでこのオプションは、返還されたデータベースでは有効に、新規データベースでは無効になっています。

参照

SET DATABASE PARAMETER, SET HOME PAGE, コンテキストモードの利用, 接続セキュリティ.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次