Estoy intentando integrar Tomcat con Apache. Mi objetivo es redirigir todas las solicitudes con
http://localhost/myappahttp://localhost:8080
Seguí esta guía: http://tomcat.apache.org/tomcat-8.0-doc/proxy-howto.html
Mi httpd.confaspecto es así:
Include conf.modules.d/*.conf
LoadModule proxy_module modules/mod_proxy.so
ProxyPass /myapp http://localhost:8080 retry=0 timeout=5
ProxyPassReverse /myapp http://localhost:8080
Mi server.xml en apache-tomcat se ve así:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" proxyPort="80" />
Ahora, cuando pruebo la URL http://localhost/myapp, da 503 Service Unavailableerror.
Tanto Tomcat como Apache están en funcionamiento. La URL http://localhost:8080funciona bien.
¿Puede haber algún problema con los permisos de archivo?
Para tomcatel usuario y el grupo son root/rooty para httpd, el usuario y el grupo sonapache/apache
¿Me estoy perdiendo algo o lo estoy haciendo mal?
La versión de Httpd es 2.4.6 y la versión de Tomcat es 8.0
Los registros de error httpd:
[proxy:error] [pid 19905] (13)Permission denied: AH00957: HTTP: attempt to connect to 127.0.0.1:8080 (localhost) failed
[proxy:error] [pid 19905] AH00959: ap_proxy_connect_backend disabling worker for (localhost) for 0s
[proxy_http:error] [pid 19905] [client ::1:51615] AH01114: HTTP: failed to make connection to backend: localhost
¡Resuelto!
La respuesta está aquí: http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/

ProxyPass*líneas no podía usar mi nombre de servidor real y en su lugar necesitaba usarlocalhostmi dirección IP, por ejemplo,ProxyPass / http://localhost/funcionó peroProxyPass / http://example.com/no lo hizo.Respuestas:
(Respondido por el OP en una edición de pregunta. Convertido en una respuesta de wiki de la comunidad. Consulte Pregunta sin respuestas, pero problema resuelto en los comentarios (o extendido en el chat) )
El OP escribió:
Que es un enlace a un blog que explica:
Si este es el problema, se puede resolver ejecutando:
Y para obtener una fuente de información más definitiva, consulte https://wiki.apache.org/httpd/13PermissionDenied
fuente
esto funcionó para mí:
fuente
ProxyPass / http:// 1.2.3.4:1234aProxyPass / http://localhost:1234(igualmente hecho para ProxyPassReverse), no sé por qué sucedió esto hoy. UnattendedUpdate no instaló cosas relacionadas con Apache y no se ejecutó hoy.Resolver problema de inmediato, está relacionado con la seguridad interna
Nosotros, SnippetBucket.com, que trabaja para Enterprise Linux RedHat, encontramos que el servidor httpd no permite que se ejecute el proxy, ni localhost o 127.0.0.1, ni ningún otro dominio externo.
Como se encontró la investigación en el registro del servidor
El registro de auditoría encontró un problema de puerto similar
Debido a la seguridad interna predeterminada de Linux, esta causa, ahora para arreglar (temporal)
Resolver problema permanente
fuente
En la versión 7.5.1804 de CentOS Linux, pudimos hacer que esto funcione editando / etc / selinux / config y cambiando la configuración de SELINUX así:
fuente