Hitachi

 Hitachi Application Server V10 定義リファレンスUNIX®用)


2.2 httpsd.conf

Webサーバの動作環境を設定するファイルです。

説明

Webサーバの動作環境を各種ディレクティブで定義します。システム管理者が管理します。

ファイルに指定できる定義およびディレクティブを次に示します。

設定内容

ディレクティブ名

複数指定

httpsd.confファイル内のブロックの定義

<Directory>

<DirectoryMatch>

<Files>

<FilesMatch>

<IfModule>

<Limit>

<Location>

<LocationMatch>

<Proxy>

<VirtualHost>

サーバの基本的な定義

ServerName※1、※2

×

User※1、※2

×

Group※1、※2

×

ServerAdmin

×

ServerRoot

×

ServerSignature

×

Listen

LoadModule

LoadFile

Include

ExtendedStatus

×

ServerTokens

×

CoreDumpDirectory

×

FileETag

コンテンツを管理するための定義

UserDir

DocumentRoot

×

ErrorDocument

Webブラウザーからのリクエストについての定義(Alias)

Alias

AliasMatch

Redirect

RedirectMatch

MIMEタイプについての定義

TypesConfig

×

AddCharset

AddDefaultCharset

×

AddType

ForceType

×

コンテントネゴシエーションについての定義

LanguagePriority

AddEncoding

AddLanguage

DefaultLanguage

×

CacheNegotiatedDocs

×

MultiviewsMatch

×

ハンドラーについての定義

AddHandler

SetHandler

×

Webサーバの性能についての定義

StartServers

×

MinSpareServers

×

MinSpareThreads

×

MaxSpareServers

×

MaxSpareThreads

×

MaxRequestWorkers

×

MaxConnectionsPerChild

×

Timeout

×

RequestReadTimeout

×

ListenBacklog

×

ThreadsPerChild

×

HWSKeepStartServers

×

SendBufferSize

×

ServerLimit

×

ThreadLimit

×

KeepAliveの定義

KeepAlive

×

MaxKeepAliveRequests

×

KeepAliveTimeout

×

リクエストを制限する定義

LimitRequestBody

×

LimitRequestFields

×

LimitRequestFieldsize

×

LimitRequestLine

×

CGI、環境変数の定義

ScriptAlias

ScriptAliasMatch

UseCanonicalName

×

BrowserMatch

BrowserMatchNoCase

PassEnv

SetEnv

UnsetEnv

SetEnvIf

SetEnvIfNoCase

Action

Script

HWSSetEnvIfIPv6

ディレクトリーインデックスの表示内容の定義

DirectoryIndex

×

AddIconByEncoding

AddIconByType

AddIcon

DefaultIcon

×

ReadmeName

×

HeaderName

×

IndexIgnore

IndexOrderDefault

×

AddAltByEncoding

AddAltByType

AddAlt

AddDescription

IndexOptions

Webサーバへのアクセスを制御する定義

AccessFileName

×

AllowOverride

×

AuthName

×

AuthType

×

AuthGroupFile

×

AuthUserFile

×

AuthBasicAuthoritative

×

Require

Options

×

Order

×

Allow from

Deny from

Satisfy

×

TraceEnable

×

IdentityCheck

×

SSLによる暗号化および認証の定義

SSLRequireSSL

×

SSLEnable

×

SSLDisable※1

×

SSLCertificateFile※2

×

SSLCertificateKeyFile※2

×

SSLCACertificatePath

×

SSLCACertificateFile

×

SSLVerifyClient

×

SSLVerifyDepth

×

SSLRequiredCiphers

×

SSLRequireCipher

SSLBanCipher

SSLDenySSL

×

SSLFakeBasicAuth

×

SSLCacheServerPort

×

SSLSessionCacheTimeout

×

SSLCacheServerPath

×

SSLCacheServerRunDir

×

SSLSessionCacheSize

×

SSLSessionCacheSizePerChild

×

SSLCRLAuthoritative

×

SSLCRLDERPath

×

SSLCRLPEMPath

×

SSLExportCertChainDepth

×

SSLExportClientCertificates

×

SSLCertificateKeyPassword

×

SSLProtocol

×

Webサーバを運用形態に合わせて複数ホストに見せる定義

ServerAlias

ServerPath

×

イメージマップファイルについての定義

ImapDefault

×

ImapBase

×

ImapMenu

×

HWSImapMenuCharset

×

採取するログの定義

HostnameLookups

×

ErrorLog

×

LogLevel

×

LogFormat

CustomLog

TransferLog

PidFile

×

ScriptLog

×

ScriptLogBuffer

×

ScriptLogLength

×

HWSLogSSLVerbose

×

HWSLogTimeVerbose

×

HWSRequestLog

×

HWSRequestLogType

×

HWSSuppressModuleTrace

HWSErrorLogClientAddr

×

HWSWebSocketLog

×

採取するトレースの定義

HWSTraceIdFile

×

HWSTraceLogFile

×

HWSPrfId

×

リバースプロキシーについての定義

ProxyPass

ProxyPassReverse

ProxyVia

×

ProxyErrorOverride

×

ProxyPreserveHost

×

ProxyTimeout

×

HWSProxyPassReverseCookie

BalancerMember

流量制限機能についての定義

QOSCookieDomain

×

QOSCookieExpires

×

QOSCookieName

QOSCookieSecure

×

QOSCookieServers

×

QOSRedirect

QOSRejectionServers

×

QOSResponse

×

ヘッダーカスタマイズ機能についての定義

Header

RequestHeader

有効期限設定機能についての定義

ExpiresActive

×

ExpiresByType

ExpiresDefault

×

計画停止についての定義

HWSGracefulStopLog

×

HWSGracefulStopTimeout

×

(凡例)

○:指定できる。

×:指定できない。

注※1

Webサーバを起動するために、最低限設定が必要なディレクティブです(SSLを利用しない場合)。

注※2

Webサーバを起動するために、最低限設定が必要なディレクティブです(SSLを利用する場合)。

ディレクティブによっては、記述できる場所が制限されているものがあります。各ディレクティブの記述できる場所については、各ディレクティブの「記述できる場所」に示します。また、ディレクティブの上書きを許可する場合は、AllowOverrideディレクティブで許可レベルを定義する必要があります。各ディレクティブの上書き許可のレベルは、各ディレクティブの「上書きレベル」に示します。

各ディレクティブの「記述できる場所」および「上書き許可」に記載される内容を次に示します。

「記述できる場所」で示される内容

各ディレクティブの記述できる場所は、次のような形式で記載しています。

記述できる場所

説明

httpsd.conf

VirtualHostブロック、Directoryブロック以外のhttpsd.confファイル

<VirtualHost>

httpsd.confファイルのVirtualHostブロック

<Directory>

httpsd.confファイルのDirectoryブロック、Locationブロック、Filesブロック

.htaccess

AccessFileNameディレクティブで指定したアクセス制御ファイル

<Location>

httpsd.confファイルのLocationブロック

また、ディレクティブは次に示す順に参照されます。

  1. VirtualHostブロック、Directoryブロック以外のhttpsd.confファイル

  2. httpsd.confファイルのVirtualHostブロック

  3. httpsd.confファイルのDirectoryブロック

  4. アクセス制御ファイル

  5. httpsd.confファイルのFilesブロック

  6. httpsd.confファイルのLocationブロック

DirectoryブロックのAllowOverrideディレクティブの定義(上書き許可レベル)によって、アクセス制御ファイルで定義しているディレクティブを有効または無効にできます。

「上書き許可」で示される内容

AllowOverrideディレクティブで上書きを許可する場合に、定義する許可レベルを記載しています。

許可レベルの内容は次のとおりです。

  • AuthConfigレベル

    サーバへのアクセス制御関連のディレクティブの上書きを許可します。サーバへのアクセス制御関連のディレクティブには、AuthGroupFileAuthNameAuthTypeAuthUserFileRequireディレクティブなどが該当します。

  • FileInfoレベル

    コンテンツ管理、MIMEタイプ、暗号化などファイル情報関連のディレクティブの上書きを許可します。ファイル情報関連のディレクティブには、AddTypeAddEncodingAddLanguageディレクティブなどが該当します。

  • Indexesレベル

    ディレクトリーインデックス関連のディレクティブの上書きを許可します。ディレクトリーインデックス関連のディレクティブには、FancyIndexingAddIconAddDescriptionディレクティブなどが該当します。

  • Limitレベル

    ホスト名またはIPアドレスを用いたアクセス制御のディレクティブの上書きを許可します。ホスト名またはIPアドレスを用いたアクセス制御のディレクティブには、Allow fromDeny fromOrderディレクティブが該当します。

  • Optionsレベル

    Optionsディレクティブの上書きを許可します。

  • Allレベル

    すべての上書きを許可します。

  • Noneレベル

    すべての上書きを禁止します。

なお、各ディレクティブの説明で.htaccessが指定でき、かつ上書き許可レベルの記述がない場合には、許可レベルはAllになります。

書式

ディレクティブの記述規則を次に示します。

正規表現

ディレクティブの指定に使用できる正規表現を次に示します。

記号

機能

使用例

使用例の意味

.

任意の1文字。

a...c

aのあとに任意の3文字とcが続く。abcdcは適合する。

*

直前の1文字の0個以上の繰り返し。

ab*cd*

acabbbbcabbbbcdは適合する。

+

直前の1文字の1個以上の繰り返し。

ab*c+

abbbcは適合する。abbbは適合しない。

?

直前の1文字があるかないか。

abbbc?

abbbcabbbは適合する。

|

選択肢の区切り。

a|bc|d

abcまたはd

\

直後の特殊文字(. ^$*+?|\[](){})の1文字。ただし、\を表す場合は\\\

\.

.と適合する。

\\\

1文字の\と適合する。

^

行の先頭に適合する。

^ab

abcdeは適合する。

$

行の末尾に適合する。

abc$

aaabcは適合する。

{m}

直前の正規表現のm個の繰り返し。

a{5}

aaaaaが適合する。

{m,}

直前の正規表現のm個以上の繰り返し。

a{3,}

aaaaaaaは適合する。aaは適合しない。

{m,n}

直前の正規表現のm個以上n個以下の繰り返し。

a{3,5}

aaaaaaaaaaaaが適合する。aaaaaaaaは適合しない。

[文字列]

文字列にある任意の1文字。

[abc]*または[a-c]*

aaabbbccccbaaabは適合する。

[^文字列]

文字列にない任意の1文字。

[^0-9]

数字以外の1字が適合する。

(文字列)

文字列をグループ化する。

(ab)+

abababが適合する。ababbは適合しない。

aa(xx|yy)bb

aaxxbbaayybbが適合する。

注※

次の3文字は、[文字列]で特殊な意味を持ちます。

^[の次に指定して、文字列に含まれないものを示すために用います。

]:文字列の最後を示すために用います。

-:範囲を指定するために用います。

また、これら特殊文字の前の\は省略されます。

[文字列]で特殊な意味を持つ文字を通常の文字として指定するには、次のようにします。なお、次の4つ以外の特殊文字は、通常の文字として扱われます。

^ :文字列の先頭以外で指定します。(例)[ab^yz]

]:文字列の先頭に指定します。(例)[]abxy]

-:最後に指定します。(例)[abxy-]

\\\\と指定します。(例)[\\\abxy]

ディレクティブに指定するパス情報

ディレクトリー名、ファイル名またはパス名を指定するディレクティブの場合、ディレクティブの種類によって、指定できるパス情報が異なります。

パスの種類には、次のものがあります。各ディレクティブのパス情報は、各ディレクティブで説明します。

  • 絶対パスしか指定できません。

  • ServerRootディレクティブの指定値からの相対パスで指定できます(ただし、ServerRootディレクティブの指定が先に必要)。

また、パス情報にネットワーク上のディレクトリーやファイルを指定することはできません。ネットワークを使用したファイルシステム上のディレクトリーやファイルを指定することもできません。

コメント行

設定ファイル中、行の最初に#を付けると、コメント行になります。ただし、ディレクティブを指定したあとに#から始まる文字列を記述しても、#以降をコメントとして扱いません。

コメント行を指定する場合の記述例を次に示します。

  • 正しい例

    #Deny from all

    #行はコメント行として扱われます。

  • 誤った例

    Deny from all    #comment

    #commentはディレクティブ指定値として扱われます。コメントとしては扱われません。

格納先

/opt/hitachi/APServer/httpsd/conf/httpsd.conf

記述例

記述例のインストール先は、/opt/hitachi/APServer/httpsdディレクトリーです。

#########################################################################
##
## httpsd.conf - Hitachi Web Server configuration file
##
##  All Rights Reserved. Copyright (C) 2000, 2015, Hitachi, Ltd.
#########################################################################
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so

Listen 80
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 10000
</IfModule>

<IfModule worker.c>
StartServers 2
MinSpareThreads 40
MaxSpareThreads 200
ThreadsPerChild 40
MaxRequestWorkers 400
ServerLimit 10
ThreadLimit 40
MaxConnectionsPerChild 0
</IfModule>

Timeout 60
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 3
HostnameLookups Off

User nobody
Group nogroup

ServerRoot "/opt/hitachi/APServer/httpsd"

ServerName www.example.com
DocumentRoot "/opt/hitachi/APServer/httpsd/htdocs"
#<IfModule prefork.c>
#ScriptAlias /cgi-bin/ "/opt/hitachi/APServer/httpsd/cgi-bin/"
#</IfModule>
DirectoryIndex index.html
UseCanonicalName Off
ServerSignature Off
ServerTokens ProductOnly
TraceEnable Off

LogLevel info
ErrorLog "|/opt/hitachi/APServer/httpsd/sbin/rotatelogs2 /opt/hitachi/APServer/httpsd/logs/error 8192 5"
#ErrorLog logs/error_log
HWSRequestLog "|/opt/hitachi/APServer/httpsd/sbin/rotatelogs /opt/hitachi/APServer/httpsd/logs/hwsrequest 86400 -fnum 8 -diff 540"
#HWSRequestLog logs/hwsrequest_log
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
<IfModule prefork.c>
LogFormat "%h %l %u %t \"%r\" %>s %b %P %{hws_ap_root}n %I %O %X %D \"%{Referer}i\" \"%{User-Agent}i\"" hws_trace
LogFormat "%h %l %u %t \"%r\" %>s %b %T %P %{hws_ap_root}n" hws_std
</IfModule>
<IfModule worker.c>
LogFormat "%h %l %u %t \"%r\" %>s %b %P:%{tid}P %{hws_ap_root}n %I %O %X %D \"%{Referer}i\" \"%{User-Agent}i\"" hws_trace
LogFormat "%h %l %u %t \"%r\" %>s %b %T %P:%{tid}P %{hws_ap_root}n" hws_std
</IfModule>
HWSLogTimeVerbose On
CustomLog "|/opt/hitachi/APServer/httpsd/sbin/rotatelogs /opt/hitachi/APServer/httpsd/logs/access 86400 -fnum 8 -diff 540" hws_std
#CustomLog logs/access_log hws_std
PidFile logs/httpd.pid
HWSTraceIdFile logs/hws.trcid
HWSTraceLogFile logs/hws.trclog

SSLDisable
#SSLEnable
#SSLCertificateFile "/opt/hitachi/APServer/httpsd/conf/ssl/server/httpsd.pem"
#SSLCertificateKeyFile "/opt/hitachi/APServer/httpsd/conf/ssl/server/httpsdkey.pem"
#SSLCertificateKeyPassword "/opt/hitachi/APServer/httpsd/conf/ssl/server/.keypasswd"
#SSLCACertificateFile "/opt/hitachi/APServer/httpsd/conf/ssl/cacert/anycert.pem"
#SSLProtocol TLSv1 TLSv11 TLSv12
#SSLRequiredCiphers DES-CBC3-SHA:AES128-SHA:AES256-SHA:AES128-SHA256:AES256-SHA256
#SSLVerifyClient 0
#SSLVerifyDepth 3
#SSLCacheServerPath sbin/gcache
#SSLCacheServerPort logs/gcache_port
#SSLSessionCacheTimeout 3600
#HWSLogSSLVerbose On

TypesConfig conf/mime.types
AddEncoding x-compress .Z
AddEncoding x-gzip .gz .tgz
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage tr .tr
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
#LanguagePriority ja en ca cs da de el eo es et fr he hr it ko ltz nl nn no pl pt pt-BR ru sv tr zh-CN zh-TW

BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[01234]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch " Konqueror/4" redirect-carefully

Alias /icons/ "/opt/hitachi/APServer/httpsd/icons/"
IndexOptions FancyIndexing
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

<Directory />
        Options None
        AllowOverride None
#       <Limit PUT DELETE>
#               Order deny,allow
#               Deny from all
#       </Limit>
#       SSLRequireSSL
</Directory>

<Directory "/opt/hitachi/APServer/httpsd/htdocs">
        Options None
        AllowOverride None
</Directory>

<FilesMatch "^\.(ht|key)">
        Order allow,deny
        Deny from all
</FilesMatch>

#<Location /server-status>
#       SetHandler server-status
#       Order deny,allow
#       Deny from all
#       Allow from example.com
#</Location>

#Include "/opt/hitachi/APServer/httpsd/conf/reverse_proxy.conf"
#Include "/opt/hitachi/APServer/httpsd/conf/proxy_balancer.conf"

注意事項

ディレクティブにIPv6アドレスを記述する場合は、「[IPv6アドレス]」のようにIPv6アドレスを[ ]で囲んで指定してください。また、ディレクティブにIPv6アドレスとポート番号を併記する場合は、「[IPv6アドレス]:ポート番号」のようにIPv6アドレスを[ ]で囲み、「:」の後ろにポート番号を指定します。

ただし、次のディレクティブにIPv6アドレスを記述する場合は、IPv6アドレスを[ ]で囲まないで指定してください。

IPv6アドレスを指定する場合は、グローバルユニキャストアドレスを指定してください。