もっと詳しく!!httpd.conf!!


httpdの細かい設定をちょっとだけ知った。

オンプレで動いているhttpdをawsで再現する必要があったので、configをdiffとって色々調べながら書いたので、そこで知ったものの覚書です。

ServerTokens

下記の設定をすることで、httpdに直接アクセスした際の公開情報を制限してくれます。本番はProdで1番情報量の少なくなるようにするわけですね。今回はこいつを設定しました。デフォルトだと、OSが設定されていました。

Prod[uctOnly]

「Server:Apache」とApacheであるということのみを表示

Min[imal]

「Server:Apache/1.3.37」のようにApacheのバージョンまでを表示

OS

「Server:Apache/1.3.37(Unix)」のようにApacheのバージョン情報に加えOS情報まで表示

Full(デフォルト)

「Server:Apache/1.3.37(Unix) PHP/4.3.9」のようにApacheのバージョン、OS情報に加え、モジュール情報を表示

Ifmodule

httpdのチューニング用のディレクティブになります。

<IfModule mpm_prefork_module>
    StartServers 400 ←起動時に生成される子サーバプロセスの数。デフォルトは5。
    MinSpareServers 400 ←アイドル状態にいる子サーバプロセスの最小(希望)個数。デフォルトは5。
    MaxSpareServers 400 ←アイドル状態にいる子サーバプロセスの最大(希望)個数。デフォルトは10。
    ServerLimit 400 ←MaxClientsに指定可能な値の上限。(MaxClientより大きな数にする)
    MaxClients 400 ←応答できる同時リクエスト数。デフォルトは256。
    MaxRequestsPerChild 80 ←個々の子サーバプロセスが扱うことのできるリクエストの総数。デフォルトは10000。0にすると無制限
</IfModule>

Include

「Include」は他に用意された設定ファイルを取り込む場合に使います。

だそうで、私の場合、独自にvirtual hostを切ってある設定を読み込ませるためにこのディレクティブが使われていました。サイトの本体を見つけるためにもこのディレクティブを発見して、virtual hostのパスを確認するのは有効です。