- PR -

ApacheのHTTPSポートにHTTPアクセスするとレスポンスヘッダを返さない

1
投稿者投稿内容
たお
ベテラン
会議室デビュー日: 2006/10/27
投稿数: 90
投稿日時: 2009-02-24 15:21
Apache HTTPサーバにmod_sslを使用し
443ポートでListenさせる構成で、
http://localhost:443/
といったHTTPSポートにHTTPアクセスをすると
レスポンスヘッダを返しません。

エラーログは出力されず、アクセスログは以下となります。
127.0.0.1 - - [23/Feb/2009:21:13:31 +0900] "GET /" 400 529 "-" "-"

ちなみに、このサイト(www.atmarkit.co.jp)では
http://www.atmarkit.co.jp:443/
にアクセスするとレスポンスヘッダを返します。

確認方法はTELNETを使用しました。
$telnet www.atmarkit.co.jp 443
Trying 202.218.219.160...
Connected to www.atmarkit.co.jp.
Escape character is '^]'.
GET / HTTP/1.0

HTTP/1.1 400 Bad Request
Date: Tue, 24 Feb 2009 05:24:29 GMT
Server: Apache
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
〜 以下省略 〜

環境はRedhatEL5 Update 2 64bitの
Apache/2.2.3です。

設定は基本はデフォルトですが、
以下の様になっています。

LoadModule ssl_module modules/mod_ssl.so
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLPassPhraseDialog builtin
SSLSessionCache shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout 300
SSLMutex default
SSLRandomSeed startup file:/dev/urandom 256
SSLRandomSeed connect builtin
SSLCryptoDevice builtin
Listen 443
<VirtualHost *:443>
DocumentRoot "/var/www/https"
ServerName localhost
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile /etc/httpd/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/httpd/ssl/private/localhost.key
</VirtualHost>

mod_rewriteでhttpをhttpsに変換するという解決もあるのですが、
できればレスポンスヘッダを返すようにしたいです。

よい解決策はありますでしょうか?
よろしくお願い致します。
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2009-02-26 21:31
こんばんは。

1.3 系で確認しましたが、普通に返りますね。
逆にヘッダを全く返さないような設定というのは可能なのでしょうか?

とりあえず、
http://httpd.apache.org/docs/2.2/ja/mod/mod_headers.html
ここで記載の適当な定義を明示的にしてみてはどうでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)