apache - descargar - Httpd que devuelve el servicio 503 no disponible con mod_proxy para Tomcat 8
tomcat animal (4)
Estoy tratando de integrar Tomcat con Apache.
Mi objetivo es redirigir todas las solicitudes con
http://localhost/myapp
a
http://localhost:8080
Seguí esta guía: http://tomcat.apache.org/tomcat-8.0-doc/proxy-howto.html
Mi
httpd.conf
ve 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
,
http://localhost/myapp
error
503 Service Unavailable
.
Tanto Tomcat como Apache están en funcionamiento.
La URL
http://localhost:8080
funciona bien.
¿Puede haber un problema con los permisos de archivo?
Para
tomcat
el usuario y el grupo son
root/root
y para
httpd
, el usuario y el grupo son
apache/apache
¿Me estoy perdiendo algo o lo estoy haciendo mal?
La versión HTTP es 2.4.6 y la versión de Tomcat es 8.0
El error de httpd registra:
[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/
Resolver el problema de inmediato, está relacionado con la seguridad interna
Nosotros, SnippetBucket.com trabajando para Enterprise Linux RedHat, encontramos que el servidor httpd no permite que se ejecute el proxy, ni localhost ni 127.0.0.1, ni ningún otro dominio externo.
Como investigar en el registro del servidor encontrado
[error] (13)Permission denied: proxy: AJP: attempt to connect to
10.x.x.x:8069 (virtualhost.virtualdomain.com) failed
El registro de auditoría encontró un problema de puerto similar
type=AVC msg=audit(1265039669.305:14): avc: denied { name_connect } for pid=4343 comm="httpd" dest=8069
scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket
Debido a la seguridad interna predeterminada de Linux, esta causa, ahora para arreglar (temporal)
/usr/sbin/setsebool httpd_can_network_connect 1
Resolver problema permanente
/usr/sbin/setsebool -P httpd_can_network_connect 1
(Respondido por el OP en una edición de preguntas. Convertido a una respuesta wiki de la comunidad. Ver Pregunta sin respuestas, pero problema resuelto en los comentarios (o extendido en el chat) )
El OP escribió:
La respuesta está aquí: http://sysadminsjourney.com/content/2010/02/01/apache-modproxy-error-13permission-denied-error-rhel/
Que es un enlace a un blog que explica:
SELinux en RHEL / CentOS se envía por defecto para que los procesos httpd no puedan iniciar conexiones salientes, que es exactamente lo que intenta hacer mod_proxy.
Si este es el problema, se puede resolver ejecutando:
/usr/sbin/setsebool -P httpd_can_network_connect 1
Y para obtener una fuente de información más definitiva, consulte https://wiki.apache.org/httpd/13PermissionDenied
En CentOS Linux versión 7.5.1804, pudimos hacer que esto funcionara editando / etc / selinux / config y cambiando la configuración de SELINUX de la siguiente manera:
SELINUX=disabled
esto funcionó para mí:
ProxyRequests Off
ProxyPreserveHost On
RewriteEngine On
<Proxy http://localhost:8123>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /node http://localhost:8123
ProxyPassReverse /node http://localhost:8123