Apache host virtual habilitado para SSL 400 vuelve solicitud incorrecta al azar
Pregunta
Me he configuración dos dominios virtuales locales (http y https autofirmado) para billing.example.com y probarlos en Firefox con Firebug. Http host virtual único propósito es redirigir todas las peticiones a https.
Casi cada página de solicitud que el tiempo de https, uno o dos archivos con los recursos asociados (imágenes, js, css, etc ...) y la página php veces sí regresan 400 solicitud incorrecta en la ventana de Firebug, a veces uno o dos archivos mostrados como cargado por un largo tiempo. Cuando hago clic en el enlace problema en Firebug, carga el archivo como debería. Además, solicitud incorrecta o no los archivos cargados cambia casi cada vez que estoy carga de la página.
¿Alguna idea?
Servidor: Ubuntu 10.04, Apache / 2.2.14 con 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>
Resto son ajustes por defecto de Ubuntu apache2.
Solución
Yo estaba teniendo este problema con Apache 2.2.9 y la actualización a Apache 2.2.22 soluciona el problema para mí.
Me obtener los códigos de respuesta 400 al azar en algunas de las solicitudes de página. A veces, las imágenes, a veces peticiones AJAX. De vez en cuando sería la propia página que devolver un 400 junto con este mensaje.
Solicitud incorrecta Su navegador envía una petición que este servidor no podía comprender. cabecera de las peticiones no se encuentra ':' separador. vivo
He encontrado el siguiente informe para la alfombra que parecía relacionada. El error se corrigió en Apache 2.2.15: https://bugzilla.redhat.com/show_bug .cgi? id = 652335
Creo que este error es la causa de una gran cantidad de errores aleatorios al utilizar https: Su navegador envía una petición que este servidor no podía entender campo de encabezado de solicitud no se encuentra ':'. separador
Así que me gustaría probar la actualización a la última versión de Apache con la última mod_ssl - y que parecía funcionar
.Otros consejos
En la parte SSL, es posible que desee convertir UseCanonicalName Off
Para los hosts virtuales, es probable que esté utilizando un dominio diferente que el servidor principal y que podría causar que usted pueda buscar archivos fuera de la máquina virtual.
Para completar en el puerto 80, añadiría [R, L] para la redirección.
RewriteEngine On
RewriteRule ^/(.*) http://billing.example.com/$1 [L,R]