Hitachi Web Server

[目次][用語][索引][前へ][次へ]

6.2.7 Sで始まるディレクティブ

<この項の構成>
(1) Satisfy {any|all}
(2) Script メソッド CGIスクリプト名
(3) ScriptAlias URL ディレクトリ名
(4) ScriptAliasMatch 正規表現 新パス
(5) ScriptInterpreterSource{ registry|script } 
(6) ScriptLog ファイル名
(7) ScriptLogBuffer バッファ数
(8) ScriptLogLength ファイルサイズ
(9) ServerAdmin E-Mailアドレス
(10) ServerAlias ホスト名 〔ホスト名 …〕
(11) ServerName サーバ名〔:ポート番号〕
(12) ServerPath パス名
(13) ServerRoot ディレクトリ名
(14) ServerSignature {On|Off|Email}
(15) ServerTokens {Minimal|OS|Full|ProductOnly}
(16) SetEnv 環境変数 値
(17) SetEnvIf リクエスト値 正規表現 環境変数〔=値〕 〔環境変数〔=値〕 …〕
(18) SetEnvIfNoCase リクエスト値 正規表現 環境変数〔=値〕 〔環境変数〔=値〕 …〕
(19) SetHandler ハンドラ名
(20) SSLBanCipher 暗号種別 〔暗号種別 …〕
(21) SSLCACertificateFile ファイル名
(22) SSLCACertificatePath ディレクトリ 
(23) SSLCacheServerPath パス名 
(24) SSLCacheServerPort {ポート番号|パス名} 
(25) SSLCacheServerRunDir パス名 
(26) SSLCertificateFile ファイル名
(27) SSLCertificateKeyFile ファイル名
(28) SSLCertificateKeyPassword パス名
(29) SSLCRLAuthoritative {On|Off}
(30) SSLCRLDERPath パス名
(31) SSLCRLPEMPath パス名
(32) SSLDenySSL
(33) SSLDisable
(34) SSLEnable
(35) SSLExportCertChainDepth 値
(36) SSLExportClientCertificates
(37) SSLFakeBasicAuth
(38) SSLProtocol プロトコル名 〔プロトコル名 …〕
(39) SSLRequireCipher 暗号種別 〔暗号種別 …〕
(40) SSLRequiredCiphers 暗号種別 〔:暗号種別 …〕
(41) SSLRequireSSL
(42) SSLSessionCacheTimeout 値
(43) SSLSessionCacheSize {サイズ|max}
(44) SSLSessionCacheSizePerChild {サイズ|max} 
(45) SSLVerifyClient {0|1|2|3}
(46) SSLVerifyDepth 段階数
(47) StartServers プロセス数 

(1) Satisfy {any|all

(a) 内容

コンテンツへのアクセスが,ユーザ認証(AuthUserFile,Requireディレクティブなどを指定)とホスト名,又はIPアドレス(Allow from,Deny fromディレクティブなどを指定)の両方によって制限されている場合にその関係を設定します。

any:そのどちらかの条件を満たしていれば,コンテンツへのアクセスを許可します。

all:そのどちらの条件も満たさなければ,コンテンツへのアクセスを禁止します。

(b) 記述できる場所

<Directory>,.htaccess

(2) Script メソッド CGIスクリプト名

(a) 内容

指定されたメソッドによるリクエストがあった場合にCGIスクリプト名で示すスクリプトを実行します。

指定できるメソッド:GET,POST,PUT,DELETE
メソッドは大文字,小文字を区別します。
ただし,GETメソッドの場合,スクリプトは問い合わせ引数があるときだけ(例えば,/foo.html?bar)呼ばれます。
(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>

(c) 指定例
Script POST /cgi-bin/search

(3) ScriptAlias URL ディレクトリ名

(a) 内容

WebブラウザからURLで指定されたCGIプログラム実行のリクエストに対して,実行するCGIプログラムのあるディレクトリ名を指定します。

ディレクトリ名は,絶対パスで指定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
ScriptAlias /cgi-bin/ "C:/Program Files/Hitachi/httpsd/cgi-bin/"

(4) ScriptAliasMatch 正規表現 新パス

(a) 内容

Webブラウザから指定されたCGIプログラム実行要求のURLが正規表現で記述した条件を満たす場合,指定した新パスのCGIプログラムを実行します。正規表現で括弧()を使用してグループ化している場合,そのi番目のグループの表現にマッチした文字列を,新パスで $iを使用して参照できます。iには1から9までの数字を指定します。

新パスは,絶対パスで指定してください。また,新パスの文字として,'$'又は'&'を含める場合は,その文字の前に'\'を付加してください。なお,$iを指定する際には,'$'の前に'\'を付加する必要はありません。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
ScriptAliasMatch ^/cgi-bin/(.*) "C:/Program Files/Hitachi/httpsd/cgi-bin/$1"

(5) ScriptInterpreterSource{ registry|script } [図データ]

(a) 内容

CGIスクリプトの実行に使用されるインタプリタを定義します。

registry:レジストリが検索され,拡張子に関連付けられているプログラムがインタプリタとして使用されます。

script:スクリプト内の#!行で指定されたインタプリタが使用されます。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(6) ScriptLog ファイル名

(a) 内容

CGIスクリプトのエラーログ出力先のファイルを指定します。ファイル名には,絶対パス,又はServerRootディレクティブの指定値からの相対パスが指定できます。

UNIXの場合,指定するファイルは,Userディレクティブで指定したユーザの権限で書き込みができるようになっている必要があります。

(b) 記述できる場所

httpsd.conf

(7) ScriptLogBuffer バッファ数

〜((0−2147483647))《1024》(単位:バイト)

(a) 内容

PUT,POSTメソッドによるリクエストのボディ部のログを採取する場合の最大値をバイト単位で指定します。ScriptLogディレクティブでエラーログ出力先のファイルを指定した場合だけ,この指定は有効になります。

このディレクティブでの指定値分の領域が,リクエスト処理中に確保されます。そのため,大きい値を指定すると,メモリ確保失敗となって,Webサーバが終了する場合があります。デフォルト値,又は必要最小限の値を指定することを推奨します。

(b) 記述できる場所

httpsd.conf

(8) ScriptLogLength ファイルサイズ

〜((0−2147483647))《10385760》(単位:バイト)

(a) 内容

CGIスクリプトのエラーログファイルの最大サイズをバイト単位で指定します。ScriptLogディレクティブでエラーログ出力先のファイルを指定した場合だけ指定が有効になります。

(b) 記述できる場所

httpsd.conf

(9) ServerAdmin E-Mailアドレス

(a) 内容

サーバ管理者のE-Mailアドレスを指定します。ServerSignatureディレクティブでE-Mailを指定する場合は,必ず指定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
ServerAdmin www-admin@server.example.com

(10) ServerAlias ホスト名 〔ホスト名 …〕

(a) 内容

サーバ名に基づくバーチャルホストで使用するホスト名(ServerName)の別名を指定します。IPv6アドレスに対応したホスト名も指定できます。

(b) 記述できる場所

<VirtualHost>

(11) ServerName サーバ名〔:ポート番号〕

(a) 内容

Hitachi Web Serverのサーバ名,及びポート番号を指定します。ポート番号を省略した場合は,Portディレクティブ指定値が設定されます。

サーバ名は,FQDN(完全修飾ドメイン名),又はIPアドレスで指定します。また,サーバ名には,IPv6アドレス又はIPv6アドレスに対応したホスト名も指定できます。IPv6アドレスを指定し,かつポート番号を指定する場合は,IPv6アドレスを[ ]で囲んでください。

UseCanonicalNameディレクティブ指定値に従い,Redirectディレクティブの指定,イメージマップの利用,又は末尾を/(スラント)で閉じないディレクトリ指定のリクエストなど,Webサーバでリダイレクトが指示された場合のリダイレクト先としてLocationヘッダに設定されクライアントに返信されるため,クライアントからアクセスできるサーバ名を指定しなければなりません。このディレクティブの指定は必須です。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
ServerName www.example.com
ServerName fec0::123:4567:89ab:cdef
ServerName [fec0::123:4567:89ab:cdef]
ServerName [fec0::123:4567:89ab:cdef]:8080

(12) ServerPath パス名

(a) 内容

サーバ名に基づくバーチャルホストで,Hostヘッダの代わりにパス名を利用して各ホストに接続する場合に指定します。

(b) 記述できる場所

<VirtualHost>

(13) ServerRoot ディレクトリ名

〜《/opt/hitachi/httpsd》 (UNIX版)

〜《インストール先ディレクトリ》 (Windows版)

(a) 内容

サーバのルートディレクトリを絶対パスで指定します。

(b) 記述できる場所

httpsd.conf

(c) 指定例
ServerRoot "C:/Program Files/Hitachi/httpsd"

(14) ServerSignature {On|Off|Email}

(a) 内容

Webサーバが作成するエラーメッセージなどのコンテンツのフッタに署名するかどうかを指定します。

On:ServerTokensディレクティブに従った文字列(Hitachi Web Serverやバージョン番号など),及びUseCanonicalNameディレクティブ指定値に従ったサーバ名とポート番号を表示します。

Hitachi Web Server 03-00 at www.example.com Port 80

Off:コンテンツのフッタに署名を表示しません。

Email:Onを指定した場合の表示に加えServerAdminディレクティブの指定値をmailtoタグで追加します。

なお,Onを指定した場合,ServerNameディレクティブに指定したIPv6アドレス又はIPv6アドレスに対応したホスト名を表示できます。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 指定例
ServerSignature On

(15) ServerTokens {Minimal|OS|Full|ProductOnly}

(a) 内容

HTTPレスポンスヘッダのServerヘッダのフォーマットを設定します。それぞれの設定によるServerヘッダの値を次に示します。OS種別には,Unix又はWin32が設定されます。Serverヘッダの値がどのように利用されるかはクライアントの仕様によります。

Minimal:Hitachi Web Server バージョン番号

OS:Hitachi Web Server バージョン番号(OS種別)

Full:Hitachi Web Server バージョン番号(OS種別) 付加PPで設定された情報

ProductOnly:Hitachi Web Server

(b) 記述できる場所

httpsd.conf

(c) 指定例
ServerTokens Full

(16) SetEnv 環境変数 値

(a) 内容

CGIスクリプトに任意の環境変数を渡す場合に設定する環境変数の値を指定します。このディレクティブを複数指定する場合,同じ環境変数に異なる値は指定できません。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例
SetEnv MY_ENV myenv

(17) SetEnvIf リクエスト値 正規表現 環境変数〔=値〕 〔環境変数〔=値〕 …〕

(a) 内容

クライアントからのリクエストを基に環境変数を定義します。クライアントからのリクエスト値が正規表現で表した条件を満たす場合,指定した環境変数を設定します。設定する値のデフォルト値は1です。環境変数の前に!が付いたときは,その環境変数の設定を解除します。

リクエスト値としては,HTTPリクエストヘッダか次の表に示す値を指定できます。先に指定された環境変数をリクエスト値として指定することで環境変数の検査ができます。ただし,この場合の環境変数は,HTTPリクエストヘッダにも次の表に示す指定値にも一致していない必要があります。

リクエスト値 意味
Remote_Addr クライアントのIPアドレス
Remote_Host クライアントのホスト名(リクエストに設定されている場合だけ)
Request_Protocol リクエストのプロトコル(HTTP/1.1 など)
Request_Method リクエストのメソッド名(GET,POST,HEADなど)
Request_URI リクエストのURI
Server_Addr リクエストを受信したサーバのIPアドレス

このディレクティブを複数指定する場合,同じリクエスト値は複数指定できません。

なお,リクエスト値にRemote_Hostを指定した場合,正規表現にはIPv6アドレスに対応したホスト名も指定できます。また,IPv6を使用した接続に対しては,Remote_AddrとServer_Addrのリクエスト値は使用できません。Remote_AddrとServer_Addrを使用したい場合は,HWSSetEnvIfIPv6ディレクティブで設定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例

(例1)
SetEnvIf User-Agent "Mozilla.*" SETENVIF_USER_AGENT=Mozilla

(例2)
SetEnvIf Request_URI "\.(gif)|(jpg)$" request_is_image

(例3)
IPv4を使用した接続に対して,リクエスト値のRemote_Addrを設定する場合は,次のように指定します。
Listen 123.123.123.123:80
Listen [fec0::123:4567:89ab:cdef]:80
<VirtualHost 123.123.123.123:80>
        SetEnvIf Remote_Addr 234.234.234.234 IPV4_CLIENT
</VirtualHost>

(18) SetEnvIfNoCase リクエスト値 正規表現 環境変数〔=値〕 〔環境変数〔=値〕 …〕

(a) 内容

クライアントからのリクエストを基に環境変数を定義します。クライアントからのリクエスト値が正規表現で表した条件を満たす場合,指定した環境変数を設定します。設定する値のデフォルト値は1です。環境変数の前に!が付いたときは,その環境変数の設定を解除します。

リクエスト値に指定できる値については,SetEnvIfディレクティブを参照してください。

ただし,このディレクティブでは,正規表現の大文字,小文字の区別をしません。また,このディレクティブを複数指定する場合,同じリクエスト値は複数指定できません。

なお,リクエスト値にRemote_Hostを指定した場合,正規表現にはIPv6アドレスに対応したホスト名も指定できます。また,IPv6を使用した接続に対しては,Remote_AddrとServer_Addrのリクエスト値は使用できません。Remote_AddrとServer_Addrを使用したい場合は,HWSSetEnvIfIPv6ディレクティブで設定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(19) SetHandler ハンドラ名

(a) 内容

指定した<Directory>,又はアクセスコントロールファイルの範囲すべてのリクエストをハンドラ名で指定したハンドラに関連付ける場合,指定します。ハンドラ名としてnoneを指定すると,それまでのSetHandlerディレクティブの設定が無効になります。

(b) 記述できる場所

<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(20) SSLBanCipher 暗号種別 〔暗号種別 …〕

(a) 内容

指定した暗号種別でのアクセスを拒否し,クライアントにステータスコード403 Forbidden を応答します。暗号種別を次に示します。

暗号種別 鍵交換方式3 認証方式 対称鍵暗号方式 暗号鍵サイズ(bit) メッセージ認証アルゴリズム
EXP-DES-CBC-SHA※1
RSA(512bit)
RSA
DES
40
SHA
EXP-RC2-CBC-MD5
RSA(512bit)
RSA
RC2
40
MD5
EXP-RC4-MD5
RSA(512bit)
RSA
RC4
40
MD5
EXP-DES-56-SHA※1
RSA(512,1024bit)
RSA
DES
56
SHA
EXP-RC4-56-SHA※1
RSA(512,1024bit)
RSA
RC4
56
SHA
DES-CBC-MD5※2
RSA(512,1024,2048bit)
RSA
DES
56
MD5
DES-CBC-SHA※1
RSA(512,1024,2048bit)
RSA
DES
56
SHA
RC2-CBC-MD5※2
RSA(512,1024,2048bit)
RSA
RC2
128
MD5
RC4-MD5
RSA(512,1024,2048bit)
RSA
RC4
128
MD5
RC4-SHA※1
RSA(512,1024,2048bit)
RSA
RC4
128
SHA
AES128-SHA※1
RSA(512,1024,2048bit)
RSA
AES
128
SHA
DES-CBC3-MD5※2
RSA(512,1024,2048bit)
RSA
DES
168
MD5
DES-CBC3-SHA※1
RSA(512,1024,2048bit)
RSA
DES
168
SHA
AES256-SHA※1
RSA(512,1024,2048bit)
RSA
AES
256
SHA

注※1
SSLv2では使用できません。

注※2
SSLv2でだけ使用できます。

注※3
表中のビット長は,それぞれの暗号種別に対応するWebサーバの秘密鍵のビット長を表します。Webサーバの秘密鍵のビット長が,対応するビット長より長い場合には,Webサーバは対応するビット長を持つ一時的な公開鍵と秘密鍵を作成します。例えば,sslc genrsaユティリティで秘密鍵のビット長を1024としてWebサーバの秘密鍵を作成した場合,暗号種別EXP-RC4-MD5を使用して通信する際には,512bitの一時鍵が作成されます。一時鍵はサーバプロセス生成時に作成されます。一時鍵の作成にはオーバヘッドを伴うので,注意してください。Windows版では,一時鍵は基本的にサーバに一つだけ作成されますが,バーチャルホスト構成の場合には複数個作成されることがあります。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(21) SSLCACertificateFile ファイル名

(a) 内容

SSLでサーバ認証,及びクライアント認証する場合,CA(認証局)の公開鍵(PEM形式)のファイル名を指定します。複数の証明書ファイルを連結させて,一つのファイルに複数の証明書が混在できます。

ファイル名は,絶対パスで指定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLCACertificateFile "C:/Program Files/Hitachi/httpsd/conf/ssl/cacert/anycert.pem"

(22) SSLCACertificatePath ディレクトリ [図データ]

(a) 内容

SSLでサーバ認証,及びクライアント認証する場合,CAの証明書(PEM形式)へのハッシュリンクを格納したディレクトリを指定します。ハッシュリンクの作成,及び運用方法については「5.2.8 ハッシュリンクの作成(UNIX版)」を参照してください。

クライアント証明書の検証をする場合にハッシュリンクが必要になります。取得したCAの証明書は,特定のディレクトリでハッシュリンクを作成し,このディレクトリをSSLCACertificatePathディレクティブに指定してください。

ディレクトリ名は,絶対パスで指定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLCACertificatePath /opt/hitachi/httpsd/conf/ssl/cacerts

(23) SSLCacheServerPath パス名 [図データ]

(a) 内容

SSLセション管理キャッシュサーバgcacheヘのパス名を指定します。パス名は絶対パス,又はServerRootディレクティブからの相対パスで指定できます。

(b) 記述できる場所

httpsd.conf

(c) 指定例
SSLCacheServerPath /opt/hitachi/httpsd/sbin/gcache

(24) SSLCacheServerPort {ポート番号|パス名} [図データ]

〜((ポート番号を指定する場合は1−65535))

(a) 内容

Webサーバ本体とSSLセション管理キャッシュサーバgcacheとの間でデータ交換するためのポート番号,又はパス名を指定します。パス名は絶対パス,又はServerRootディレクティブからの相対パスで指定できます。

(b) 記述できる場所

httpsd.conf

(c) 指定例
SSLCacheServerPort logs/gcache_port

(25) SSLCacheServerRunDir パス名 [図データ]

〜《ServerRootディレクティブ指定値》

(a) 内容

SSLセション管理キャッシュサーバgcacheが動作するパス名を指定します。gcacheがコアダンプを出力するディレクトリを指定するために使用します。パス名は絶対パス,又はServerRootディレクティブからの相対パスで指定できます。パス名に指定したディレクトリには,Userディレクティブに指定したユーザの読み込み権限,書き込み権限,及び実行権限が必要です。

(b) 記述できる場所

httpsd.conf

(c) 指定例
SSLCacheServerRunDir /opt/hitachi/httpsd/logs

(26) SSLCertificateFile ファイル名

(a) 内容

SSLで認証する場合,Webサーバの証明書(PEM形式)のファイル名を指定します。

ファイル名は,絶対パスで指定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLCertificateFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsd.pem"

(27) SSLCertificateKeyFile ファイル名

〜《SSLCertificateFileディレクティブ指定値》

(a) 内容

SSLで認証する場合,Webサーバの秘密鍵のファイル名を指定します。

ファイル名は,絶対パスで指定してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLCertificateKeyFile "C:/Program Files/Hitachi/httpsd/conf/ssl/server/httpsdkey.pem"

(28) SSLCertificateKeyPassword パス名

(a) 内容

パスワード保護をされているサーバ秘密鍵のパスワードを格納しておくファイルのパス名を指定します。パスワード格納ファイルは,sslpasswdユティリティによって作成します。パス名は絶対パス,又はServerRootディレクティブからの相対パスで指定します。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(29) SSLCRLAuthoritative {On|Off}

(a) 内容

SSLクライアント認証時に使用するCRLの次回発行日の扱いについて指定します。

On:
SSLクライアント認証時,クライアント証明書に対応するCRLの次回発行日を過ぎていた場合,Webサーバは認証に失敗したとして,クライアントとの接続を拒否します。CRLの正しい運用が必要です。

Off:
CRLの次回発行日を無視します。次回発行日を過ぎていてもCRLは有効であると扱うため,CRLに登録されていなければ,クライアントは接続できます。セキュリティレベルは下がりますが,CRLを正しく運用しなかったときでも,最低限のセキュリティを維持して,サービスを継続できます。
(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLCRLAuthoritative On

CRLの次回発行日を過ぎている場合,そのCRLを発行したCAが発行した証明書を持つクライアントのアクセスはすべて拒否します。

(30) SSLCRLDERPath パス名

(a) 内容

DER形式のCRLを格納するディレクトリを絶対パスで指定します。指定したディレクトリに必要なCRLを格納して,Webサーバを起動,又は再起動すると,SSLでのクライアント認証時にCRLを適用できます。SSLCRLPEMPathディレクティブで指定したディレクトリ内のCRLも含め,同じCAから発行されたCRLを複数格納している場合,発行日が最新のCRLを適用します。ディレクトリ内にDER形式のCRL以外のファイルがある場合,Webサーバは起動しません。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLCRLDERPath "C:/Program Files/Hitachi/httpsd/conf/ssl/crl/DER"

DER形式のCRLファイルを格納しているディレクトリを指定します。

(31) SSLCRLPEMPath パス名

(a) 内容

PEM形式のCRLを格納するディレクトリを絶対パスで指定します。指定したディレクトリに必要なCRLを格納して,Webサーバを起動,又は再起動すると,SSLでのクライアント認証時にCRLを適用できます。SSLCRLDERPathディレクティブで指定したディレクトリ内のCRLも含め,同じCAから発行されたCRLを複数格納している場合,発行日が最新のCRLを適用します。ディレクトリ内にPEM形式のCRL以外のファイルがある場合,Webサーバは起動しません。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLCRLPEMPath "C:/Program Files/Hitachi/httpsd/conf/ssl/crl/PEM"

PEM形式のCRLファイルを格納しているディレクトリを指定します。

(32) SSLDenySSL

(a) 内容

SSLによるアクセスを禁止する場合に指定します。このディレクティブが指定されている場合,SSLEnableディレクティブでSSLを有効にしてもhttpsによるアクセスがステータスコード403 Forbiddenで拒否されます。SSLRequireSSLディレクティブの逆の動作をします。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(33) SSLDisable

(a) 内容

SSLを無効にします。デフォルト値はSSLEnableディレクティブ(SSLを有効)です。バーチャルホストで特定のホストに対してSSLを無効にする場合などに指定します。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(34) SSLEnable

(a) 内容

SSLを有効にします。SSLDisableディレクティブを指定しないかぎり,デフォルトで有効になります。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(35) SSLExportCertChainDepth 値

〜((0−9))《0》

(a) 内容

SSLクライアント認証をする場合,環境変数SSL_CLIENT_CERT_CHAIN_nにクライアントの証明書を発行したCAからルートCAまでの証明書を設定するときに指定します。指定した値がnの最大値になります。このディレクティブはSSLExportClientCertificatesディレクティブを指定している場合だけ有効になります。指定された数のCA証明書がgcacheサーバへキャッシュされるため,CGI,又はServletで必要な数だけをこのディレクティブに指定することでキャッシュを有効に利用できます。ただし,メモリの制限でキャッシュされた一部の証明書が削除されて取得できなかった場合は,取得できたものだけを環境変数に設定します。

0:
環境変数は設定しません。

1〜9:
クライアントの証明書に近い方から順に番号が割り当てられ,環境変数を設定します。環境変数にはDER形式の証明書をBase64エンコーディングした値を設定します。一つの証明書をBase64エンコーディングした場合のバイト数は約1KBです。
(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例

「ルートCA−下位CA−クライアント証明書」という証明書チェーンの場合を説明します。この場合,環境変数と証明書の対応は次のようになります。

環境変数 証明書
SSL_CLIENT_CERT クライアント証明書
SSL_CLIENT_CERT_CHAIN_1 下位CAの証明書
SSL_CLIENT_CERT_CHAIN_2 ルートCAの証明書

この環境変数と証明書チェーンをすべて取得するには,次のようにディレクティブを指定します。

SSLExportClientCertificates
SSLExportCertChainDepth 2      2以上の値を指定します

(36) SSLExportClientCertificates

(a) 内容

SSLクライアント認証をする場合,環境変数SSL_CLIENT_CERTにクライアント証明書を設定するときに指定します。環境変数SSL_CLIENT_CERTにはDER形式の証明書をBase64エンコーディングした値を設定します。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(37) SSLFakeBasicAuth

(a) 内容

SSLクライアント認証の機能と併せて,WebブラウザでユーザIDとパスワードを入力することなく,クライアント証明書の提示だけでBasic認証をできるようにします。AuthUserFileディレクティブで指定するファイルにはX509クライアント証明書のSubjectとパスワードを記述します。パスワードは,次に示す値で常に固定とします(どちらも"password"を暗号化したもの)。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例

証明書のSubjectフィールドの値
Subject: C=JP,ST=Kanagawa,L=Yokohama-shi,O=HITACHI,OU=Software,CN=username/Email=username@userhost

この場合AuthUserFileディレクティブで指定するファイルは次のように指定します。

UNIX版の場合
/C=JP/ST=Kanagawa/L=Yokohama-shi/O=HITACHI/OU=Software/CN=username/Email=username@userhost:xxj31ZMTZzkVA
 

Windows版の場合
/C=JP/ST=Kanagawa/L=Yokohama-shi/O=HITACHI/OU=Software/CN=username/Email=username@userhost:{SHA}W6ph5Mm5Pz8GgiULbPgzG37mj9g=

LogFormatディレクティブのu指定ではSubjectがロギングされます。

認証に失敗した場合,ステータスコード401 Authorization Requiredを応答します。

(38) SSLProtocol プロトコル名 〔プロトコル名 …〕

〜《All》

(a) 内容

使用するSSLプロトコルのバージョンを指定します。

プロトコル名として設定できる値は次のとおりです。
SSLv2: SSLプロトコルバージョン2を使用する。
SSLv3: SSLプロトコルバージョン3を使用する。
TLSv1: TLSプロトコルバージョン1を使用する。
All: 上記すべてのプロトコルを使用する。
(b) 記述できる場所

httpsd.conf,<VirtualHost>

(39) SSLRequireCipher 暗号種別 〔暗号種別 …〕

(a) 内容

指定した暗号種別以外でのアクセスを拒否し,クライアントにステータスコード403 Forbidden を応答します。指定できる暗号種別は,SSLBanCipherディレクティブを参照してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(40) SSLRequiredCiphers 暗号種別 〔:暗号種別 …〕

(a) 内容

SSL通信で使用可能とする暗号種別を指定します。ディレクティブに指定した暗号種別とクライアントが使用できる暗号種別との間で一致するものがあれば,SSL通信が確立されHTTPリクエストを受信します。一致するものがない場合は,SSL通信は確立されないでHTTPリクエストを受信しません。指定できる暗号種別は,SSLBanCipherディレクティブを参照してください。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLRequiredCiphers EXP-RC4-MD5:RC4-MD5:EXP-RC2-CBC-MD5:DES-CBC-SHA:DES-CBC3-SHA

(41) SSLRequireSSL

(a) 内容

SSL以外によるアクセスを禁止する場合に指定します。このディレクティブが指定されている場合,SSLDisableディレクティブでSSLを無効にしてもhttpによるアクセスがステータスコード403 Forbiddenで拒否されます。異なるディレクティブの記述場所で,不用意にSSLを無効にしコンテンツを公開してしまうことを防止します。

(b) 記述できる場所

httpsd.conf,<VirtualHost>,<Directory>,.htaccess

(c) 上書き許可

FileInfoレベル

(d) 指定例
<VirtualHost 172.17.40.10:443>
 SSLDisable
 ... 
  <Directory /secure/dir>
    SSLRequireSSL    
    ... 
  </Directory>
</VirtualHost>

172.17.40.10ホストの443ポートに対するhttpアクセスは,/secure/dirディレクトリへのアクセスを除いてできます。/secure/dirディレクトリへのhttpアクセスは,ステータスコード403 Forbiddenを応答します。

(42) SSLSessionCacheTimeout 値

〜((1−2147483647))《3600》(単位:秒)

(a) 内容

Webサーバ内,又はSSLセション管理キャッシュサーバgcache内で保持されるセションIDなどのデータの有効時間を秒単位で指定します。

(b) 注意事項

グリニッジ標準時(GMT)の2038年1月19日3時14分7秒を超えないように,有効時間を設定してください。

(c) 記述できる場所

httpsd.conf,<VirtualHost>

(d) 指定例
SSLSessionCacheTimeout 3600

(43) SSLSessionCacheSize {サイズ|max}

〜((0−2147483647))《16777216》(単位:バイト)

(a) 内容

UNIX版の場合,SSLセションを管理するキャッシュサーバgcache内のメモリにキャッシュされるセションIDなどのデータの,メモリサイズの上限値をバイト単位で指定します。0を指定した場合,gcacheサーバは起動せず,セションキャッシュは実施されません。

Windows版の場合,セションキャッシュサイズの上限値をバイト単位で指定します。0を指定した場合,セションキャッシュは実施されません。

maxを指定した場合,上限を設定しません。1SSLセション当たり,サーバ認証だけする場合約200バイト,クライアント認証もする場合約1キロバイト使用します。

(b) 記述できる場所

httpsd.conf

(c) 指定例
SSLSessionCacheSize 1024

(44) SSLSessionCacheSizePerChild {サイズ|max} [図データ]

〜((0−2147483647))《20480》(単位:バイト)

(a) 内容

サーバプロセス内のメモリにキャッシュされるセションIDなどのデータの,メモリサイズの上限値をバイト単位で指定します。maxを指定した場合,上限を設定しません。

(b) 記述できる場所

httpsd.conf

(c) 指定例
SSLSessionCacheSizePerChild 1024

(45) SSLVerifyClient {0|1|2|3}

〜《0》

(a) 内容

クライアント認証時の証明書に関する設定を指定します。

0:証明書の要求をしません。

1:クライアントは証明書を提示できます。運用テスト用。

2:クライアントは証明書を提示しなければなりません。

3:クライアントは証明書を提示できますが,サーバが鍵を持っているCA(認証局)が発行したものである必要はありません。運用テスト用。

(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLVerifyClient 2

(46) SSLVerifyDepth 段階数

〜((0−10))《0》

(a) 内容

証明書のチェーンを何段階までたどるかを指定します。

クライアント認証に使用するCA証明書のチェーンについて,認証チェックをする段階数を指定します。チェーンされたCAをどこまで信用するかを制限するために使用します。自己署名の証明書は認証しないため,段階数は2以上を指定します。例を次に示します。

(例)
条件
  • CA1は,root CAに署名されている。
  • 証明書1は,root CAに署名されている。
  • 証明書2は,CA1に署名されている。

    [図データ]

SSLVerifyDepthの指定
この場合,証明書1,証明書2とも認証チェックをするためには,SSLVerifyDepthディレクティブに3以上を指定します。また,証明書1は認証チェックし,証明書2は認証チェックをしないようにするにはSSLVerifyDepthディレクティブに2を指定します。
(b) 記述できる場所

httpsd.conf,<VirtualHost>

(c) 指定例
SSLVerifyDepth 10

(47) StartServers プロセス数 [図データ]

〜((0−1024))《5》

(a) 内容

Webサーバ起動時のサーバプロセス数を指定します。プロセス数に関連するほかのディレクティブについては,「4.1 Hitachi Web Serverの処理とディレクティブとの関係」を参照してください。

(b) 記述できる場所

httpsd.conf

(c) 指定例
StartServers 5