AN HTTP Server オプション

Version 1.38-
2002年1月20日
中田 昭雄
nakata@st.rim.or.jp

  1. 起動オプション
  2. オプション/一般 - 一般
  3. オプション/一般 - エイリアス
  4. オプション/一般 - 表示/インデックス
  5. オプション/一般 - ファイルタイプ
  6. オプション/一般 - コンテントネゴシエーション
  7. オプション/一般 - ユーザ認証
  8. オプション/一般 - アクセス制御
  9. オプション/一般 - ログ
  10. オプション/一般 - バーチャルホスト
  11. オプション/プロクシ、キャッシュ - プロクシ
  12. オプション/プロクシ、キャッシュ - ゲートウェイ
  13. オプション/プロクシ、キャッシュ - キャッシュ
  14. オプション/プロクシ、キャッシュ - SOCKS
  15. オプション/プロクシ、キャッシュ - アクセス制御

起動オプション


起動時の書式は、
httpd.exe [設定名]
です。単に httpd.exe で起動する他に、httpd.exe config1 などと 任意の設定名(この場合は "config1")をつけて起動することができます。

たとえば、

httpd.exe
単に httpd.exe を起動すると、設定名は "default" になります。 オプションの設定は、レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\default 以下に保管されます。
httpd.exe private
この場合は設定名 "private" で起動しています。 オプション設定は、レジストリの HKEY_LOCAL_MACHINE\SOFTWARE\AnHttpd\private 以下に保管されます。
オプション目次へ

オプション - 一般


Options General 画面

HTTPサーバ機能: HTTPサーバ機能を有効にする。 チェックをはずすと、HTTPサーバとして動作しなくなります。 プロクシサーバとしてのみ動作させるときだけチェックをはずしてください。

バーチャルホスト: バーチャルホスト機能を有効にする。 これにチェックを入れてOKとすると バーチャルホストのタブが現れます。 ドキュメントルートから/~username のエイリアス までの設定はバーチャルホスト名ごとに設定できます。

HTTPバージョン: HTTPのバージョンを 1.1 または 1.0 に設定します。 デフォルトは 1.1 です。

ドキュメントルート: ドキュメントルートディレクトリ。 デフォルトでは、httpd.exeを起動したディレクトリになります。 任意のドライブとディレクトリを指定してください。 変更後、 httpd を再起動します。 再起動後、指定したディレクトリが有効になります。

Port: ポート番号。通常80。 80以外の番号、たとえば8080 にすると、ブラウザ側で http://www.host.name:8080/などの ポート番号の指定が必要になります。 複数の httpd.exe を同時に動かしたいときはこのポート番号を 変える必要があります。 変更後、httpd を再起動します。

デフォルトインデックス: ファイル名を指定しない場合に使われるファイル名。デフォルトは index.html。
他に、index.shtml, default.htm, index.cgi など任意のファイル名,拡張子を指定することができます。 カンマ(,)で、複数のファイルを指定することができます。その場合は、最初のものから順に検索します。

/~username -> ドキュメントルート\public_html: /~usenameのエイリアス。 この例の場合、 ブラウザで http://xxx.xxx.xxx.xxx/~nakata とした場合、 ドキュメントルート(D:\myHttpd)の下の nakata\public_html ディレクトリを指定したことになります。 つまり、仮想パス /~nakata は ローカルパス D:\myHttpd\nakata\public_html になります。 /~username の欄は、'/'から始める必要があります。

リモートホストを取得: デフォルトは 取得しない。 これが 常時 のときは、リクエストごとに DNSなどを用いてアクセスしてきたホスト名を取得します。このときログはホスト名になります。
CGI/SSIでは取得 にすると、 CGIの実行やSSIの #exec cmd など、環境変数 REMOTE_HOST が必要な場合 にのみホスト名取得をおこないます。
さらに、REMOTE_HOST を使わないのであれば 取得しない にしておけば、 ホスト名取得は一切おこないません。

SSIを許可する: 以下のファイルについて、SSI の実行をおこないます。

デフォルトで、/index.html と *.shtml にチェックがついています。

CGIを実行する: チェックをはずすとCGIとしての実行をおこないません。

NPHスクリプトではサーバから接続を切る: NPHスクリプトの場合、HTTP/1.0の場合と同様に出力が終わったらサーバから接続を切断します。 デフォルトではチェックがはいっています。

拡張子、実行プログラム: 拡張子別にその実行プログラムを指定できます。

CGI プロセス制御: 単一スレッド をチェックすると、CGI/SSIプロセスはシングルスレッドで動作しますので、 ファイルロックが使えない時にはその代替になります。 ヘルパープロセス をチェックすると、 システムリソースの減少を避けるためにCGI/SSI専用のプロセスを使います。 Windows98でシステムリソースの減少が激しい場合にのみ使ってください。
CGI 出力を検査, SSI 出力を検査 をチェックすると、CGI/SSIプロセスが終了するのを待って、 出力にエラーがあればエラーメッセージを出します。

ISAPI タイムアウト: ISAPI, PerlIS のタイムアウト。デフォルトは20秒。

持続接続 タイムアウト: HTTP/1.1の場合、応答後に接続を切らず同じスレッドからリクエストがあるかどうかこの時間だけ待ちます。デフォルトは15秒。

オプション目次へ


オプション - エイリアス


Options Appearance 画面 ディレクトリのエイリアス(Alias)の設定

仮想パス と、ローカルパスの対応付け(別名、エイリアス)をします。

一番上のリストボックスは、バーチャルホスト名を表示します。 「一般」で、 バーチャルホストを有効にしていない場合は灰色で何も表示されていません。 バーチャルホストが有効な時には、以下のエイリアスはバーチャルホスト名ごとに設定されます。

最初の灰色のリストは、 ドキュメントルートと /~username, /scripts のエイリアスでここでは編集できません。
一般」で設定してください。

二番目のリストは、CGI実行パスのエイリアスです。 この例では、たとえば、 /cgi-bin は、D:\myHttpd\cgi-bin を指します。 サーバの IPアドレスが xxx.xxx.xxx.xxx の場合、 http://xxx.xxx.xxx.xxx/cgi-bin/test.cgi というアクセスがあると、 サーバは D:\myHttpd\cgi-bin\test.cgi を実行することになります。

一番下のリストは一般のパスのエイリアスです。

ローカルパスにはネットワークコンピュータの指定もできます。 たとえばコンピュータ bsd の Cドライブを "c" という名前で共有しているとき、 \\bsd\c など。 これは、//bsd/c でも有効です。

拡張子: 「.html がない時は .htm を捜す」をチェックしておく(デフォルト)と、.html が存在しないとき、同名の .htm を捜します。


オプション目次へ


オプション - 表示/インデックス


Options Appearance 画面 [表示]:
動作表示: 動作するときの状態を指定します。 デフォルトは、トレイ上 で、アイコントレイ (インジケータ領域、タスクバー通知領域)で 動作します。
チェックをはずすと表示をしません。再度表示させる場合はホットキーでメニューを出してチェックを入れてください。

タスクバー上 を指定すると、タスクバー上のアイコンで動作します。
ウィンドウ を指定すると、ウィンドウを開いたまま動作します。

インジケータ付き: チェックしてあると、 接続に応答しているときにアイコンがそれなりの表示をします。

ホットキー: AN HTTPD が稼働中にこのキーを押すと、アイコンを右クリックしたときのメニューが出ます。デフォルトは Alt + Ctrl + H で、Altキー と Ctrlキー と H とを同時に押します。 別のホットキーをセットするには、実際に各キーを押して下さい。 ホットキーをなくすには、DELキーを押すことで「なし」になります。

言語: 表示言語。デフォルトは日本語。 メニュー、表示メッセージが日本語になっています。 応答メッセージは、リクエストに Accept-Language: ja がある場合に日本語になります。

.

[インデックス]:
インデックスリスト (ディレクトリリスト)を表示: インデックスリスト(ディレクトリリスト)を表示します。

認証付きディレクトリのみ: ユーザ認証が必要なディレクトリでだけリストを表示します。

[ .www_browsable] があるディレクトリのみ表示: そのディレクトリに .www_browsable というファイル があるときのみインデックスリストを表示します。このチェックがないと、常にインデックスリストを表示します。
この .www_browsable というファイル名は任意の名前に変更できます。

ソートする: アルファベット順に表示します。

逆順ソート: 逆順に表示します。

タイトル: インデックスリストのタイトルと「親ディレクトリ」という表示を設定します。タイトルで %s はそのときのURLパスの意味です。

.

[メッセージ]:
サーバ名/バージョンをエラーメッセージ/インデックスリストで表示: インデックスリストおよびエラーメッセージの表示の際に AnWeb/1.05 などのリンクを表示します。 チェックをはずせば、これを表示しません。

エラー401〜エラー500: チェックを入れると、それぞれのエラーメッセージを表示する代わりに指定したファイルを表示します。ファイル名の指定はドライブ文字から指定してください。
ファイル名の代わりに、/cgi-bin/error404.cgi などと '/'区切りのパス名を指定すると、指定のパスのGETリクエストを処理します。 .

[スタートアップ]:
ホスト名/アドレスを取得: 起動時にホスト名を取得します。環境によっては自動的にダイアルアップをしますが、これを避けたい場合はここのチェックをはずしておいてください。

.

[CGI/SSIパラメータ]:
SERVER_CONFIG変数: AN HTTPD の「設定名」(起動時の引数)が、この変数にはいります。設定名がないときは "default" になります。 チェックを入れると、この変数が使えるようになります。

Pragma: no-cache: CGIで Pragma: no-cache を自動出力します。CGI出力をブラウザがキャッシュしないようになります。

Last-Modified: CGI/SSIで Last-Modifiedヘッダとして現在時刻を自動出力します。 CGI/SSIについても最終変更時刻を取得できるようになります。


オプション目次へ


オプション - ファイルタイプ


Options FileType 画面 拡張子, MIMEタイプ: ファイルの拡張子と、対応するMIMEタイプを指定します。

Windowsのファイルタイプ/MIMEを使用する: 設定されていない拡張子に対して、Windowsで設定されているファイルの拡張子と対応するMIMEタイプを使用します。

デフォルトMIMEタイプ: MIMEタイプが指定されていない拡張子のファイルに用いるMIMEタイプ。拡張子がない場合も、このMIMEタイプを使用します。

オプション目次へ


オプション - コンテントネゴシエーション


Options ContentNegotiation 画面 可能な限り gzip で応答する: リクエストに Accept-Encoding: gzip がある場合、image, text の静的コンテンツの応答では Content-Encoding: gzip で応答します。
ただし、HTTP/1.0 リクエストに対しては text のみ gzip で応答します。

このgzip応答は、コンテントネゴシエーションが有効でなくても独立して機能します。

コンテントネゴシエーションを有効にする: 以下のコンテントネゴシエーションを使用します。

パス、言語、タイプ、エンコード: ネゴシエーションをするパスとタイプを指定します。 デフォルトのパスは / なので、すべてのパスで有効になります。
たとえば、/index というリクエストでドキュメントルートに index.html, index.html.en がある時、リクエストの Accept-Language が en だけの場合、index.html.en を返します。
また、たとえば /index へのリクエストで index.html, index.html.gz があり、リクエストの Accept-Encoding に gzip があれば、index.html.gz を返します。

言語、タイプ、エンコード: 各タイプのデフォルトは先頭に * 印がついています。 エンコード(エンコーディング)のデフォルトは (identity) で、エンコードなし、です。

オプション目次へ


オプション - ユーザ認証


Options Access Control 画面 ユーザ認証: ユーザ認証機能を有効にする。

編集パスワード: このページの編集用パスワード。解除するには、チェックをはずしてください。

認証名, パス, 認証ユーザ/ブループ: 基本ユーザ認証の名称、パス、ユーザ名またはグループ名。

認証名の前のアスタリスク(*)は、PUT/DELETEメソッドを許可することを意味します。 この許可のセットは、追加/編集画面のチェックボックスでおこないます。

パスの右のソートボタンで、パスをソートします。 再度ソートを押すと、逆順ソートになります。

ユーザ/パスワード: ユーザ名と暗号化されたパスワード

グループ:グループ名とグループメンバー

「追加」, 「編集」 では、 ユーザ名/グループ名/グループメンバーの入力は改行で一行にひとつずつ入れてください。 OKにより、","(カンマ)区切りに変換されます。

パスワードの入力時は、"*"(アスタリスク)表示になり、 OKにより、暗号化されてリスト上に表示されます。

ユーザ名は、'*' によりワイルドカードが指定できます。ただし、'*'はひとつまでで、'*', 'ab*', '*ab' などです。 ユーザ名/パスワードにもそのワイルドカードを含むユーザ名を追加しておく必要があります。

なお、パスワードは8文字目までが有効です。9文字以上セットすることはできますが、認証時に9文字目以降は無視します。


オプション目次へ


オプション - アクセス制御


Options Access Control 画面 アクセス制御: IPアドレスによるアクセス制限を有効にする。

パス: アクセス制御するパス名。必ず / から始める。 ドキュメントルートは "/"。

IPアドレス: 許可IP はアクセスを許可するIPアドレス。 拒否IPはアクセスを拒否するIPアドレス。 「許可IP」を調べて許可されている中から「拒否IP」に相当するかを調べます。
十進のドット区切り。 ワイルドカード(*)も指定できますが、 ひとつのドット区切りの中は 十進数字 か ひとつの*印 のみ。 半角カンマ( , )で複数のIPアドレスをならべることができます。
たとえば、

192.*.*.*, 193.5.20.* 
など。 また、
192.0.0.1/8, 193.5.20.1/255.255.255.0
などの指定の他、
192.168.1.1-192.168.2.254
などの範囲指定も可能です。

「追加」, 「編集」 では、 許可/拒否IPの入力は改行で一行にひとつずつ入れてください。 OKにより、", "(カンマ+スペース)区切りに変換されます。

同時アクセス制限: 同一IPアドレスからの同時アクセスを制限します。

同一ファイルへの同時アクセス数を制限する: 同一IPアドレスからの同一ファイルへの同時アクセスを制限します。

最大数: 同時アクセスをいくつまで認めるかの最大数。デフォルトは3で、この場合、同時アクセスを3つまで許します。

拡張子: 同時アクセス制限を適用するファイルの拡張子。ワイルドカードは使えません。 ここに指定した拡張子以外のファイルに対しては同時アクセス制限をおこないません。

ファイルサイズ: 同時アクセス制限を適用するファイルのサイズ。kB単位で、このサイズ以下のファイルに対しては同時アクセス制限をおこないません。


オプション目次へ


オプション - ログ


Options Log 画面 ログビューア: ログファイルを表示するアプリケーション名。デフォルトは write.exe(ワードパッド)。他に notepad.exe など。 PATHにはいっていない場合はフルパスで指定してください。

ログ更新:
毎回 毎回起動時にログを更新。古いログは作成年月日がつきます。
更新しない ログの更新はおこないません。
毎月 毎月ログを更新。古いログには作成年月がつきます。
毎日 毎日ログを更新。古いログには作成年月日がつきます。

以上のログの更新方式は下記の各ログの他、ゲートウェイ/キャッシュのログにも適用されます。

ログ ファイル: ログの記録、とログファイル名。 デフォルトでは、ログファイルは、ドキュメントルートの httpd.log になります。

ログフォーマット: httpd.log のフォーマット。「標準」は共通ログフォーマット。 「カスタム1」は AN HTTPD v1.11 までで使用していたフォーマットです。
「カスタム1」は「標準」と違って、年と時間との間に「:」(コロン)がなく空白(スペース)になっています。

エラーは記録しない: 400,401,403,404,500,501 などの 400番台および 500番台のエラーログは httpd.log には記録しないオプション。 エラーログには、記録されます。

エラー: エラーログの記録、とエラーログファイル名。 デフォルトでは、エラーログファイルは、ドキュメントルートの errors.log になります。 エラーログは各種エラーが記録されます。

参照先, ユーザエージェント, プロセス, ISAPI: 参照先(HTTP_REFERER), ユーザエージェント(HTTP_USER_AGENT),プロセス(コマンドライン),ISAPIの各ログ。

トレース:このログは!!特に必要がある場合以外は、チェックしないでください。!!
HTTPリクエストおよびレスポンスのすべてを記録します。 HTTPサーバへの入力は "<<<", 出力は ">>>" で表示されます。
なお、データを文字列として扱うため、バイナリデータは 0 があると 0 の前までしか表示されません。


オプション目次へ


オプション - バーチャルホスト


Options Virtual Host 画面 バーチャルホストを使う: チェックをはずすと、バーチャルホストを使わなくなります。 「一般」タブの「バーチャルホスト」のチェックボックスでチェックをはずしても同じです。

この例では、192.168.0.1 にホスト名 www1, www2 が割り当てられています。 ただし、ホスト名 www1, www2 はネットワークのDNS等にあらかじめ登録されている必要があります。
外部のネットワークからアクセスする場合は、 ホスト名は www1.abc.com のようにドメイン名つきのFQDNで指定する必要があります。
www1, www2 独自にドキュメントルートを設定できます。 また、localhost(127.0.0.1)もドキュメントルートを別に設定できます。

ポート番号もそれぞれ指定できます。 他に、各種エイリアスなどもホスト名ごとに指定できますが、これらは一般、エイリアスタブで設定してください。

IPアドレス(およびポート)が同じものがなければ、ホスト名は DNS等に登録されている名前を使わなくてもかまいません。

IPアドレスとして *.*.*.* を使うとすべてのIPアドレスを受け付けます。

最低ひとつは指定してください。最初の一行目は編集はできますが削除はできません。

ここのリストをlocalhost だけにすれば、他からのアクセスはできなくなります。


オプション目次へ


オプション - プロクシ


Options Proxy and Gateway 画面 プロクシサーバ機能: プロクシサーバとして動作させる。デフォルトではチェックされていません。

サーバIPアドレス: プロクシサーバとして動作するIPアドレスを指定します。 このIPアドレスを、ゲートウェイ、SOCKS でも使います。

プロクシプロトコル: プロクシサーバとして、通過させるプロトコル。http, Security(https) と ftp。
Security では接続を許可するポートを指定します。デフォルトでは HTTPS(443), SNEWS(563) のみ接続を許可します。

FTP ユーザ名:パスワード: ftpプロクシで使う ユーザ名とパスワード。 デフォルトではそれぞれ anonymous と www-proxy@(hostname)。

外部プロクシを使う: インターネット上の外部プロクシサーバを使う場合の設定。 HTTP, Security(HTTPS), FTPそれぞれ記入してください。

プロクシを使わない: 指定したIPアドレスまたはホストに対しては外部プロクシを使いません。

プロクシで追加、作成するヘッダ User-Agent ヘッダには、"via proxy gateway AnWeb/1.xx" を追加します。 Via, X-Forwarderd-For ヘッダは、なければ作成し、既にあれば追加します。
Via では、"1.0 hostname" が作成/追加されます。hostname のところはホスト名がはいりますが、任意の名称に変更できます。空白にすると AN HTTPD が取得したホスト名になります。
いずれも、チェックをはずせば追加/作成をしません。

オプション目次へ


オプション - ゲートウェイ


Options Gateway 画面 ゲートウェイ: ゲートウェイとして機能するプロトコル。指定できるプロトコルはSMTP/POP3/FTP/TELNET。それぞれ受けポートとサーバのポートを指定できます。 同じ受けポートで複数のSMTP/POP3サーバを指定する場合は、編集でユーザ名を指定してください。  任意のユーザ名の場合は "*" としてください。

POP3では、メーラで指定されたサーバ名に接続することもできます。メーラで、ユーザ名のところを "ユーザ名(区切文字)POP3サーバ名" と指定してください。 区切文字はデフォルトで "#@" で、 '#' または '@' を意味します。
メーラでの指定の例は、"nakata#mail.st.rim.or.jp" あるいは "nakata@mail.st.rim.or.jp" など。

FTP では、FTPクライアントソフトでユーザ名のところを、'@' を区切文字として、"anonymous@ftp.rim.or.jp" と指定することができます。

TELNETでは、TELNETクライアントから接続すると host:port というプロンプトが出るので、接続するサーバ名(とポート)を入力してください。コロンとポート番号を略すとデフォルトではTELNETポート(23)に接続します。

デフォルトで gateway.log にログが記録されます。 ログのチェックをはずせばこのログをとりません。


オプション目次へ


オプション - キャッシュ


Options Cache 画面 キャッシュ オン: キャッシュ機能を有効にする

キャッシュのみ: キャッシュのみを使う。 新たに外部にアクセスせずにキャッシュに保存されているデータを返すだけになる。

キャッシュルート: キャッシュファイルを置くディレクトリ。 この下に、http, ftp というディレクトリができます。

キャッシュサイズ: キャッシュファイルの合計サイズの上限。 これを越えると、最も古いキャッシュファイルから削除します。
0 は、上限なしを意味し、キャッシュファイルの削除をおこないません。 なお、必要に応じて手動で任意のキャッシュファイルを削除してかまいません。

キャッシュ有効期限チェックをおこなう: Last-Modified が指定されている場合のキャッシュの有効期限をチェックする。 チェックをはずすと、キャッシュデータは無期限で有効になる。

最終更新ファクター: キャッシュの有効期限を決めるファクター。 デフォルトの 0.20 では、10日前に変更された HTML は、2日間有効(10 x 0.20 = 2) となる。 0.00 にすると、すぐに無効になるので、キャッシュデータを使用しないことになる。

デフォルト キャッシュ有効期限: CGI/SSIなど Last-Modified が指定されていない場合の、キャッシュの有効期限を設定する。 単位は min, hour, day, week, month が有効。

0 (min) にすると、すぐに無効になり、キャッシュデータは使用しない。

更新時はキャッシュを使わない: 再ロードの時などリクエストに Pragma: no-cache があるときはキャッシュデータを使用しない。 デフォルトでチェックあり。

キャッシュ ログ: キャッシュのログをとる


オプション目次へ


オプション - プロクシ SOCKS


Options Proxy AccessControl 画面

SOCKSサーバ機能: SOCKSプロクシを有効にする。デフォルトで無効。

ポート: SOCKSが使うポート番号。デフォルトは 1080。

接続タイムアウト: クライアントとの接続のタイムアウト。デフォルトは 300秒。デフォルトでは 300秒間通信がないと接続を切ります。

SOCKS v4, SOCKS v5: それぞれ SOCKSのバージョン4、バージョン5を有効にする。

ユーザ: SOCKSサーバのユーザ名。 "*" で任意のユーザ名。
パスワード: ユーザ名に対応するパスワード。 SOCKS v4 の時は使わない。 "*" では任意のパスワードが有効になる。
IPアドレス: ユーザがアクセスできるクライアントのIPアドレス。「アクセス制限」と同様の指定ができます。

デフォルトの * * 127.0.0.1 は、ローカルホストからのアクセスは任意のユーザから任意のパスワードでアクセスを許す、という意味になります。

SOCKSサーバへのアクセスも「アクセス制御」の制限が優先されます。すなわち、アクセス制御で制限されているIPアドレスからのアクセスはできません。

ログ: ログを取るかどうかの指定とログファイル名。


オプション目次へ


オプション - プロクシ アクセス制限


Options Proxy AccessControl 画面

アクセス制御: プロクシ/ゲートウェイのアクセス制限を有効にする。デフォルトで有効になっています。

IPアドレス: アクセス許可 はアクセスを許可するIPアドレス。 アクセス拒否はアクセスを拒否するIPアドレス。 「アクセス許可」を調べて許可されている中から「アクセス拒否」に相当するかを調べます。
十進のドット区切り。 ワイルドカード(*)も指定できますが、 ひとつのドット区切りの中は 十進数字 か ひとつの*印 のみ。 半角カンマ( , )で複数のIPアドレスをならべることができます。
たとえば、

192.*.*.*, 193.5.20.* 
など。
デフォルトでは、
127.0.0.1, 192.168.*.* 
となっています。


オプション目次へ