ApacheのSSL対応のバーチャルホストは、ランダムな400不正な要求を返します。
質問
Iましセットアップ2つのローカルのバーチャルホスト(httpと自己署名のhttps)billing.example.comと放火魔とFirefoxでそれらを試みます。 HTTPバーチャルホスト唯一の目的は、httpsにすべての要求をリダイレクトされます。
ほぼ毎時間I要求ページでは、関連するリソース(画像、JS、CSS、等...)、時にはphpのページで一つまたは二つのファイル自体が、時々、放火犯のウィンドウに400不正な要求を返します。httpsから1つのまたは2つのファイルが表示されました長い時間のためにロードされました。 それが必要として、私は、放火犯に問題のあるリンク上でファイルのロードをクリックすると。 また、不正な要求かどうかロードされたファイルは、私はほとんどのたびに変更積載ページます。
任意のアイデア?
サーバー:Ubuntuの10.04は、Apache / 2.2.14のmod_ssl
とバーチャルホストます:
Listen 80
<VirtualHost *:80>
ServerName billing.example.com
UseCanonicalName On
DocumentRoot /code/site/billing
...
RewriteEngine On
RewriteRule ^/(.*)$ https://billing.example.com/$1
</VirtualHost>
Listen 443
<VirtualHost *:443>
ServerName billing.example.com
UseCanonicalName On
DocumentRoot /code/site/billing
...
SSLEngine On
SSLCertificateFile /code/site/ssl/example.crt
SSLCertificateKeyFile /code/site/ssl/example.key
</VirtualHost>
残りはUbuntuのapache2のデフォルトの設定です。
解決
私は、Apache 2.2.22にApache 2.2.9およびアップグレードして、この問題を持っていた私のための問題を解決します。
私は、ページ要求のいくつかのランダムな400応答コードになるだろう。時には、画像、時々AJAX要求。時折、それはこのメッセージと一緒に400を返すページ自体になります。
不正な要求 お使いのブラウザでは、このサーバが理解できなかったことを、要求を送りました。 リクエストヘッダフィールドが不足している「:」区切りを。 ライブ
私は、関連するように見えたそのために、以下の敷物レポートを見つけました。バグは、Apache 2.2.15で修正されました: https://bugzilla.redhat.com/show_bug .cgiの?ID = 652335 の
私は、HTTPSを使用している場合、このバグはランダムエラーの多くの原因だと思います。 お使いのブラウザでは、このサーバが理解できなかったことを、要求を送信し リクエストヘッダフィールドがありません「:」セパレータ
。
だから、私は、最新のmod_sslと最新のapacheへの更新を試してみようと思いました - 。それが仕事に思えた。
他のヒント
は、SSL部分について、あなたは仮想ホストのUseCanonicalName Off
を有効にすることは、おそらくメインサーバーとは異なるドメインを使用しており、それはあなたが外の仮想ホストのファイルを検索する可能性があります。
ポート80に完全を期すために、私はリダイレクトする[R、L]を追加します。
RewriteEngine On
RewriteRule ^/(.*) http://billing.example.com/$1 [L,R]