Frage

Ich habe Setup zwei lokale vhosts (http und selbstsignierte HTTPS) für billing.example.com und sie in Firefox mit Firebug versuchen. Http vHost nur den Zweck, alle Anfragen auf https umgeleitet wird.

Fast jedes Mal, wenn ich Anfrage Seite von https, eine oder zwei Dateien mit zugehörigen Ressourcen (Bildern, js, css, etc ...) und manchmal PHP-Seite selbst zurückkehren 400 Bad Request in Firebug-Fenstern, manchmal eine oder zwei Dateien angezeigt wie für eine lange Zeit geladen. Wenn ich auf Link Problem in Firebug, Datei lädt, wie es sollte. Auch schlechte Anfrage oder nicht geladenen Dateien ändert sich fast jedes Mal, wenn ich bin Laden Seite.

Irgendwelche Ideen?

Server: Ubuntu 10.04, Apache / 2.2.14 mit mod_ssl

Vhosts:

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>

Der Rest sind die Standardeinstellungen von ubuntu apache2.

War es hilfreich?

Lösung

Ich habe dieses Problem mit Apache 2.2.9 und einem Upgrade auf Apache 2.2.22 löste das Problem für mich.

würde ich zufällig 400 Antwortcodes auf einige der Seitenanfragen erhalten. Manchmal Bilder, manchmal AJAX-Anfragen. Gelegentlich würde es die Seite selbst sein, die ein 400 zusammen mit dieser Nachricht zurückkehren würden.

  

Bad Request   Ihr Browser gesendet einen Antrag, dass dieser Server nicht verstehen kann.   Request-Header-Feld fehlen ':' Separator.   Live

fand ich den folgenden Teppich Bericht für das im Zusammenhang schien. Der Fehler wurde in Apache 2.2.15 behoben: https://bugzilla.redhat.com/show_bug cgi? id = 652335

  

Ich denke, dieser Fehler ist die Ursache für viele zufällige Fehler bei https:   Ihr Browser gesendet einen Antrag, dass dieser Server konnte nicht verstehen,   Request-Header-Feld fehlen ':'. Separator

Also dachte ich würde versuchen, die Aktualisierung auf die neueste Apache mit der neuesten mod_ssl - und das schien zu funktionieren

.

Andere Tipps

Für den ssl Abschnitt, können Sie UseCanonicalName Off für virtuelle Hosts aktivieren möchten, werden Sie wahrscheinlich eine andere Domäne als der Haupt-Server verwenden und das könnte dazu führen Sie für Dateien außerhalb des virtuellen Hosts zu suchen.

Die Vollständigkeit halber auf Port 80, würde ich [R, L] fügen Sie die Umleitung.

RewriteEngine  On
RewriteRule    ^/(.*) http://billing.example.com/$1 [L,R]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top