SSLでエラー ssl_error_rx_record_too_long (-12263)
ブラウザにssl_error_rx_record_too_longと出力されて接続できない。
エラーログには↓のように出る。
[Mon Sep 19 22:46:23 2011] [error] [client xxx.xxx.xxx.xxx] Invalid method in request \x16\x03\x01
一般的な原因
設定は正しいのにSSL関連の設定部分を通らないケース
httpd.confに
<IfDefine SSL> ・ ・ </IfDefine>
と書いてあるのに"SSL"がDefineされていなかったというオチ。
おまけ)意図とは違うバーチャルホストの設定を見てしまう件
ネームベースのバーチャルホストを設定している場合に問題になります
SSL接続時は、ホスト名も暗号化されています。
なので、SSLの設定を読み込んでからでないとホスト名を特定できません。
でもネームベースのバーチャルホストの場合、ホスト名が分からないのでバーチャルホストの設定を読むことができません。
先頭のバーチャルホストの設定が使われます
このとき、とりあえずhttpd.confで最初に定義してあるバーチャルホストの設定が使われます。
(ホスト名が決まったらネームベースバーチャルホストの設定も有効になります)
つまり
目的のバーチャルホストの設定だけがんばってもだめで、先頭のバーチャルホストのSSL設定もちゃんとされている必要があります。