2009/07/13

lighttpd ssl

nginx で上手くいかないので lighttpd に逃げることにしました
nginx のことは後で考えます

(2009/07/26 削除)

ググったらやっぱり色々出てきます
Webサーバ「lighttpd」でSSLを使うには - @IT
も出るし、
Lighttpd - Docs:SSL - lighty labs
も出るし。

compile は configure に --with-openssl って付けてあげれば OK
openssl の dev っぽい package があれば OK

ssl.pemfile には base64 してある証明書と秘密鍵を繋げたものを入れときます
$ cat ssl.crt ssl.key > ssl.pem
とかして ssl.pem を指定してやれば OK、絶対パスとかで
crt と key の順番はどっちでもいいらしい

ssl.ca-file には中間証明書を指定してやります
こっちも同様で複数枚にも対応してるけど
apache や nginx と違ってサーバ証明書から階層が構築できるかどうかチェックするみたい
ただ垂れ流すだけでなく、ひと手間かけてるみたいでした

redirect したいときには 設定ファイルの頭の方で mod_redirect とか呼んどけば OK
source の中に doc/lighttpd.conf って雛形があるんでそれを使いましょう

で、多分こんなんで nginx ssl と同じなはず
$SERVER["socket"] == "192.168.0.1:80" {
url.redirect = ( "^/(.*)" => "https://sample1/" )

accesslog.filename = "/www/sample1/logs/http_access.log"
}

$SERVER["socket"] == "192.168.0.1:443" {
ssl.engine = "enable"
ssl.pemfile = "/www/sample1/etc/sample1.pem"
ssl.ca-file = "/www/sample1/etc/sample1.ca-bundle"
ssl.cipher-list = "ALL:!EXP:!ADH:!LOW:!SSLv2:!MD5"
server.document-root = "/www/sample1/httpsdocs"

accesslog.filename = "/www/sample1/logs/https_access.log"
}

$SERVER["socket"] == "192.168.0.2:443" {
ssl.engine = "enable"
ssl.pemfile = "/www/sample2/etc/sample2.pem"
ssl.ca-file = "/www/sample2/etc/sample2.ca-bundle"
ssl.cipher-list = "ALL:!EXP:!ADH:!LOW:!SSLv2:!MD5"
server.document-root = "/www/sample2/httpsdocs"

accesslog.filename = "/www/sample2/logs/https_access.log"

url.redirect = ( "^/(.*)" => "https://sample3/$1" )
}

$SERVER["socket"] == "192.168.0.2:80" {
accesslog.filename = "/www/sample2/logs/http_access.log"

url.redirect = ( "^/(.*)" => "https://sample2/$1" )
}
でもなー、nginx で上手くいかないんだよなー
なんでかなー

0 件のコメント:

コメントを投稿