solucionar significa servidor que problema hubo google error con como chrome bad apache ubuntu

apache - significa - http error 400 chrome



Solicitud incorrecta Su navegador envió una solicitud que este servidor no pudo entender. (7)

Aunque no soy un experto en Ubuntu, he tenido dos servidores funcionando durante un par de años sin problemas.

Anoche, al intentar acceder a un sitio web local en uno de ellos, recibí el error:

**Bad Request** Your browser sent a request that this server could not understand. Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.

Después de varias horas de frustración y sin éxito, reconstruí el servidor. Mientras Ubuntu se estaba instalando, fui al otro servidor y obtuve exactamente el mismo error. El primer servidor ahora ha sido reconstruido y muestra el mismo error.

He apagado todas las computadoras en la red. Apagó el enrutador y comenzó de nuevo.

Además de los dos servidores, la red consta de tres máquinas con Windows y un escritorio de Ubuntu.

He intentado aislar las máquinas de Internet, he intentado con clientes inalámbricos y con cables.

Ir a localhost en los servidores muestra la página predeterminada de Ubuntu Apache.

Lo único que sucedió en el momento en que comenzó el problema fue que Windows decidió apagar esta máquina para una actualización. No veo cómo esto podría haber causado un problema, pero he aislado esta máquina de la red y el problema existe.

Limpié las cookies, usé cinco navegadores diferentes, y todos reportan el mismo error. Estoy a punto de salir de las ideas, y en busca de sugerencias.


De acuerdo, estoy 99,99% seguro de haber encontrado el problema con la ayuda de Capsule . La clave del éxito fue cambiar el nivel de error de Apache para depurar. Esto me dio un punto de partida y de ahí un poco de prueba y error y todo estuvo bien.

Tenía dos servidores B777 y B767 que usé para el desarrollo local. Para sitios web de desarrollo utilicé algo como www.something.767 y www.something.777. Todos los sitios fueron listados en un archivo de hosts.

Durante varios años esto funcionó bien. Por alguna razón, tal vez nunca lo entendí, la noche pasada comencé a tener el error mencionado en ambos servidores y en otro que construí esta noche.

Parece que el problema estaba usando números en el nombre de dominio. Tan pronto como cambié un nombre de dominio de www.something.767 a www.something.local (o aparentemente cualquier otro carácter no numérico), todo volvió a la normalidad.


En mi caso, es realmente el guión bajo _ en DocumentRoot lo que causa problemas y horas de depuración. Todo funciona bien una vez que lo elimine de mi ruta DocumentRoot.


Este error me persiguió durante días, hasta que finalmente lo entendí.

En mi caso, estaba haciendo un CURL a una URL que tiene un espacio vacío al final. ¿Puedes creerlo? Eliminar el espacio era suficiente para funcionar bien.


Esto se debe a la actualización RFC 3986, que afirma que los guiones bajos son inseguros en los nombres de servidor virtuales y otros elementos. En mi caso, no pude cambiar el nombre de la URL, así que solo permití este subrayado habilitando estas URL inseguras. Para hacerlo, simplemente agregue HttpProtocolOptions no seguro al archivo httpd.conf.

https://httpd.apache.org/docs/2.4/mod/core.html#httpprotocoloptions


Intente comprobar su URL de nuevo. Podría faltar la barra. :-)


Para las versiones más nuevas de httpd no son compatibles con Hyphens en la URL, en ese caso, debe agregar HttpProtocolOptions no seguro al archivo httpd.conf, después de eso funciona bien.


Tuve que eliminar el guión bajo ( _ ) de la directiva ServerName , así como el nombre de host en /etc/hosts .

Sin embargo, el guión bajo en DocumentRoot está bien.

Por lo tanto, la línea correspondiente en /etc/hosts ve así:

127.0.0.1 mycoolsite.localhost

Y el bloque relevante en /etc/apache2/extra/httpd-vhosts.conf ve así:

<VirtualHost *:80> DocumentRoot "/Users/satoshi/Sites/my_cool_site" ServerName mycoolsite.localhost ErrorLog "/private/var/log/apache2/my_cool_site.localhost-error_log" CustomLog "/private/var/log/apache2/my_cool_site.localhost-access_log" common </VirtualHost>

No olvide ejecutar el apachectl restart después de realizar los cambios.