Webページのタブを使用して、4Dに統合されたWebサーバーの様々な設定 (セキュリティ、開始オプション、接続、Webサービス等) にアクセスできます。4D Webサーバーの動作に関する詳細は4D Language ReferenceマニュアルのWebサーバを参照してください。Webサービスに関する詳細はWeb サービスの公開と使用を参照してください。
4Dアプリケーションの起動時にWebサーバを起動するか指定します。このオプションはWebサーバ設定と接続管理で説明しています。
デフォルトで、4Dは通常のWeb TCPポート番号である80番を使用してWebデータベースを公開します。他のWebアプリケーションによってこのポート番号が既に使用されている場合、4Dが使用するポート番号を変更する必要があります。Mac OS Xでは、TCPポート番号を変更することで、rootユーザを有効にしなくてもWebサーバを開始することができます。(Webサーバ設定と接続管理参照)
ポート番号を変更するには、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台などを指定します。
WebサーバがHTTPリクエストを受け付けるIPアドレスを指定できます。
デフォルトで、サーバはすべてのIPアドレスへのリクエストに応答します (すべてオプション)。
ドロップダウンリストにはマシンで利用可能なIPアドレスがリストされます。特定のアドレスを指定すると、サーバはこのIPアドレスへのリクエストにのみ応答します。
この機能は複数のIPアドレスが設定されたマシン上で動作する4D Webサーバのためのものです。これはしばしばインターネットホストプロバイダで使用されます。
このようなマルチホーミングシステムの実装はWebサーバマシン上での特定の設定を必要とします:
Mac OSにセカンダリのIPアドレスをインストールする
Mac OS上でマルチホーミングを設定するには:
- TCP/IP コントロールパネルを開きます。
- 設定ポップアップメニューから手動オプションを選択します。
- テキストファイルを"Secondary IP Addresses"という名称で作成し、SystemフォルダのPreferencesサブフォルダに保存します。
- "Secondary IP Addresses"ファイルの各行にセカンダリIPアドレスと、オプションでサブネットマスクおよびセカンダリIPアドレス用のルータアドレスを記述します。
詳細はApple社のドキュメントを参照してください。
WindowsにセカンダリのIPアドレスをインストールする
Windows上でマルチホーミングを設定するには:
- 以下のコマンド (またはWindows OSごとの同様の機能) を選択します:
スタート メニュー > コントロールパネル > ネットワークとインターネット接続 > ネットワーク接続 > ローカルエリア接続 (プロパティ) > インターネットプロトコル (TCP/IP) > プロパティ ボタン > 詳細... ボタン。"詳細 TCP/IP 設定"ダイアログが表示されます。 - "IPアドレス"エリアの追加... ボタンをクリックし、IPアドレスを追加します。
最大5つまでIPアドレスを定義できます。これを行うにはシステム管理者に問い合わせる必要があります。詳細はWindowsのドキュメントを参照してください。
Webサーバがセキュアな接続を受け入れるか受け入れないかを指定します。このオプションはSSLプロトコルの使用で説明します。
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ポート番号” を参照してください。
データベース設定の"Web/設定"ページにあるこのオプションを使用して、/4DSYNC URLを含むリクエストのサポートを制限できます。このURLはHTTPを使用したデータの同期に使用されます (このメカニズムに関する詳細は4DSYNC/ URLを参照してください)。
このオプションを使用すれば/4DSYNC URLを含むリクエストの処理を有効/無効にできます:
- 選択されていない場合、/4DSYNC リクエストは標準のリクエストとみなされ、特別な処理を行いません。同期リクエストを行おうとすると"404 - resource unavailable"タイプのレスポンスが返されます。
- 選択されている場合、同期メカニズムが有効となります。/4DSYNC リクエストは特別なリクエストとして扱われ、4D HTTPサーバーが自動で解析とレスポンスを処理します。
デフォルトで:
- バージョン13以降で作成されたデータベースでは、このオプションは選択されていません。
- 互換性のため、以前のバージョンから変換されたデータベースではこのオプションが選択されています。HTTP同期機能を使用しない場合、このオプションの選択を解除してください。
このオプションのスコープはローカルアプリケーションであり、設定を変更した後はWebサーバーを再起動しなければなりません。
Webサイトファイルのデフォルトの位置を指定し、ディスク上でその場所より階層的に上のファイルにアクセスできない場所を指定します。このオプションは接続セキュリティの節で説明しています。
データベースに接続するすべてのブラウザー用にデフォルトホームページを指定できます。このページはスタティックでもセミダイナミックでも可能です。
デフォルトでWebサーバーが最初に起動されたとき、4Dは“index.html”という名前のホームページを作成し、HTMLルートフォルダーに置きます。この設定を変更しない場合、Webサーバーに接続するブラウザーには以下のようなページが表示されます:
![](../../picture/240306/pict240306.en.png)
デフォルトホームページを変更するには、ルートフォルダーの“index.html”ページを置き換えるか、使用するページのアクセス相対パスを"デフォルトホームページ"エリアに入力します。
アクセスパスはデフォルトHTMLルートからの相対パスで設定しなければなりません。
データベースのマルチプラットフォーム互換性を確保するために、4D Webサーバーは特別なアクセスパスの記法を使用します。シンタックスルールは以下のとおりです:
- フォルダーはスラッシュ (“/”) で区切ります。
- アクセスパスはスラッシュ (“/”) で終わっていてはなりません。
- フォルダー階層を1レベル上がるには、フォルダー名の前に “../” を記述します。
- アクセスパスはスラッシュ (“/”) で始まっていてはいけません。
例えばデフォルトホームページを、デフォルトHTMLルートフォルダー内のWebサブフォルダーにある“MyHome.htm”にする場合、“Web/MyHome.htm”と入力します。
注: WEB SET HOME PAGEコマンドを使用して、Webプロセスごとにデフォルトホームページを設定できます。
デフォルトのカスタムホームページを指定しない場合、On Web Connectionデータベースメソッドが呼び出されます。プロシージャーでリクエストを処理するのは開発者の役割です。