設定
4D Webサーバーの設定には、セキュリティパラメーター、リスニングポート、デフォルトのパス、およびサーバーの機能を網羅するさまざまなオプションが含まれます。 4D ではすべての設定にデフォルト値を用意しています。
設定をおこなう場所
4D Webサーバーの設定には、スコープやサーバーに応じた様々な方法があります:
設定場所 | スコープ | 使用する Webサーバー |
---|---|---|
webServer オブジェクト | 一時的 (カレントセッション) | コンポーネントWebサーバーを含む、あらゆる Webサーバー |
WEB SET OPTION または WEB XXX コマンド | 一時的 (カレントセッション) | メインサーバー |
ストラクチャー設定 ダイアログボックス (Web ページ) | 永続的 (全セッション、ディスク上に保存) | メインサーバー |
設定できる場所が限られる設定も一部存在します。
キャッシュ
設定できる場所 | 名称 | コメント |
---|---|---|
設定ダイアログボックス | オプション (I) ページ / 4D Webキャッシュを使用する | |
設定ダイアログボックス | オプション (I) ページ / ページキャッシュサイズ |
Webページキャッシュの有効化と設定をおこないます。
4D Webサーバーにはキャッシュがあり、スタティックページ、GIF、JPEG (<512 kb)、そしてスタイルシート (.css ファイル) などがリクエストされると、メモリにロードされます。 キャッシュの利用は、スタティックページの送信時に Webサーバーのパフォーマンスを大幅に向上します。 キャッシュはすべての Webプロセスで共有されます。 キャッシュが有効化されている場合、4D Webサーバーは、ブラウザーからリクエストされた静的ページをまずキャッシュ内で探します。 ページが見つかれば、それを送信します。 見つからない場合、4D はディスクからページを読み込み、キャッシュに格納します。
キャッシュのサイズは、ページキャッシュサイズ エリアで変更できます。 設定する値は、スタティックページのサイズや数、 およびホストマシンで利用可能なリソースによります。
Webデータベースを利用する間、
WEB GET STATISTICS
コマンドを使用してキャッシュのパフォーマンスを検証できます。 たとえば、キャッシュ利用率が 100% に近い場合、キャッシュに割り当てたメモリ量を増やすことを考慮します。 [/4DSTATS] と [/4DHTMLSTATS] の URL も、キャッシュの状態を知るのに使用できます。
証明書フォルダー
設定できる場所 | 名称 | コメント |
---|---|---|
webServer オブジェクト | certificateFolder | テキストプロパティ (start() 関数の settings パラメーターと使用する場合は、4D.Folder オブジェクトも使用可能) |
Webサーバー用の TLS証明書ファイルが置かれているフォルダーです。
4D または 4D Server のデフォルトでは、これらのファイルはProject フォルダー の隣に配置する必要があります。
4D をリモートモードで使用する場合、これらのファイルは、リモートマシン上のデータベースのローカルリソースフォルダーに配置されている必要があります (Get 4D folder
コマンドの 4D Client Database Folder
の項を参照ください)。 これらのファイルはリモートマシンに手動でコピーする必要があります。
TLS 証明書ファイルは、key.pem (秘密の暗号鍵を含むドキュメント) と cert.pem (証明書を含むドキュメント) です。
文字コード
設定できる場所 | 名称 | コメント |
---|---|---|
webServer オブジェクト | characterSet | MIBEnum 整数、または名称の文字列 |
WEB SET OPTION | Web character set | MIBEnum 整数、または名称の文字列 |
設定ダイアログボックス | オプション (II) ページ / 文字コード | ポップアップメニュー |
4D Webサーバーが使用する文字セットを定義します。 デフォルト値は OS の言語に依存します。
この設定は、クイックレポートを HTMLフォーマットで書き出す際にも使用されます。
暗号リスト
設定できる場所 | 名称 | コメント |
---|---|---|
webServer オブジェクト | cipherSuite | テキスト |
セキュアプロトコルに使用され る暗号リストです。Webサーバーが実装する暗号アルゴリズムの優先順位を設定します。 コロン区切りの文字列として設定できます (例: "ECDHE-RSA-AES128-...")。 詳細は Open SSL サイトの ciphers ページ を参照ください。
4D が使用するデフォルトの暗号リストは、
SET DATABASE PARAMETER
コマンドを使用してセッションごとに変更することができます。この場合、変更は 4Dアプリケーション全体に適用されます (Webサーバー・SQLサーバー・クライアント/サーバー接続、HTTPクライアント、セキュアプロトコルを使用するすべての 4Dコマンドを含む)。
CORS設定
設定できる場所 | 名称 | コメント |
---|---|---|
webServer オブジェクト | CORSSettings | オブジェクトのコレクション (CORSサービスで許可されたホストとメソッドの一覧) |
WEB SET OPTION | Web CORS settings | オブジェクトのコレクション (CORSサービスで許可されたホストとメソッドの一覧) |
設定ダイアログボックス | オプション (II) ページ / ドメイン名 および 許可されたHTTPメソッド | 新しいドメインとメソッドを許可するには [+] ボタンをクリックして追加します。 |
CORSサービスで許可されたホストとメソッドの一覧。
ドメイン名 (hostプロパティ)
CORS を介したサーバーへのデータリクエスト送信が許可されている外部ページのドメイン名または IPアドレス。 複数のドメインを追加してホワイトリストを作成することができます。 複数のシンタックスがサポートされています:
- 192.168.5.17:8081
- 192.168.5.17
- 192.168.*
- 192.168.*:8081
- http://192.168.5.17:8081
- http://*.myDomain.com
- http://myProject.myDomain.com
- *.myDomain.com
- myProject.myDomain.com
- *
許可された HTTPメソッド (methodsプロパティ)
対応する CORSホストに対して許可する HTTPメソッド。 以下の HTTPメソッドがサポートされます:
- GET
- HEAD
- POST
- PUT
- DELETE
- OPTIONS
- TRACE
- PATCH
メソッド名はセミコロン区切りで指定します(例: "post;get")。 methods が空、null、あるいは undefined の場合、すべてのメソッドが許可されます。
参照
デバッグログ
設定できる場所 | 名称 | コメント |
---|---|---|
webServer オブジェクト | debugLog | 数値 |
WEB SET OPTION | Web debug log | 数値 |
Webサーバーの HTTPリクエストログファイル (アプリケーションの "Logs" フォルダーに格納されている HTTPDebugLog_nn.txt (nn はファイル番号)) の状態を指定します。 このログファイルは、Webサーバーに関連する問題をデバッグするのに便利です。 ログには、各リクエスト・レスポンスが rawモードで記録されます。 ヘッダーを含むリクエスト全体が記録され、オプションでボディ部分も記録することができます。
値 | 定数 | 説明 |
---|---|---|
0 | wdl disable | Web HTTP debug log は無効化されています |
1 | wdl enable without body | Web HTTP debug log 有効、リクエスト本文な し (本文サイズあり) |
3 | wdl enable with response body | Web HTTP debug log 有効、レスポンスの本文のみ |
5 | wdl enable with request body | Web HTTP debug log 有効、リクエストの本文のみ |
7 | wdl enable with all body parts | Web HTTP debug log 有効、リクエストおよびレスポンスの本文あり |
デフォルトホームページ
設定できる場所 | 名称 | コメント |
---|---|---|
webServer オブジェクト | defaultHomepage | テキスト |
WEB SET HOME PAGE | Webプロセス毎に異なる設定が可能 | |
設定ダイアログボックス | 設定ページ / デフォルトホームページ |
Webサーバーのデフォルトホームページを指定します。 このページはスタティックでもセミダイナミックでも可能です。
Webサーバーの初回起動時には、4D はデフォルトで "index.html" という名前のホームページを作成し、HTMLルートフォルダーに置きます。 この設定を変更しない場合、Webサーバーに接続するブラウザーには以下のようなページが表示されます:
デフォルトホームページを変更するには、パスを "デフォルトホームページ" エリアに入力します。
- パスは、デフォルトHTMLルート からの相対パスで設定しなければなりません。
- パスは POSIX シンタックスで表します (フォルダーはスラッシュ ("/") で区切ります)。
- パスはスラッシュ ("/") で始まったり終わったりしてはいけません。
たとえば、デフォルトHTMLルートフォルダー内の "Web" サブフォルダーにある "MyHome.htm" をデフォルトホームページにする場合、"Web/MyHome.htm" と入力します。
デフォルトホームページを指定しない場合、On Web Connection
データベースメソッドが呼び出されます。 この場合には、プロシージャーでリクエストを処理するのは開発者の役割です。
CORSを有効化
設定できる場所 | 名称 | コメント |
---|---|---|
webServer オブジェクト | CORSEnabled | ブール; CORSを有効化するには true (デフォルト値は false) |
WEB SET OPTION | Web CORS enabled | 0 (デフォルト値; 無効) または 1 (有効) |
設定ダイアログボッ クス | オプション (II) ページ / CORSを有効化 | デフォルトではチェックなし |
4D Webサーバーは、クロスオリジンリソースシェアリング (CORS) を実装しており、これによって別ドメインにて提供されている特定の Webページが、REST などを使用した XHRコールを介してカレントWebアプリケーションのリソースにアクセスできるようにすることが可能です。 セキュリティ上の理由により、"ドメイン間" のリクエストはブラウザーレベルでデフォルトで禁止されています。 有効化されている場合、ドメイン外 Webページからの XHRコール (RESTリクエストなど) をアプリケーションにおいて許可することができます (CORSドメインリストに許可されたアドレスのリストを定義する必要があります。 有効時に、許可されていないドメインやメソッドがサイト間リクエストを送信した場合、"403 - forbidden" エラーレスポンスによって拒否されます。
無効化されている場合 (デフォルト) には、CORS で送信されたサイト間リクエストはすべて無視されます。
CORS についての詳細は、Wikipedia のCross-origin resource sharing ページを参照ください。