Tengo Apache 2.2.15 ejecutándose en el puerto 80 y quiero usar el proxy de un motor servlet en el puerto localhost 8983. Tengo la instalación ejecutándose en otro servidor, pero me mudé a una máquina CentOS 6. No funciona en la nueva máquina. Mi configuración de host virtual:
ProxyRequests Off <Proxy *> Orden negar, permitir Permitir de todos </Proxy> ProxyPass / http: // localhost: 8983 / ProxyPassReverse / http: // localhost: 8983 /
Puedo acceder al puerto 8983 si uso un navegador e ir directamente a él (y no voy a través del proxy Apache), pero no puedo conectarme a él si voy al servidor Apache.
Puedo cambiar lo que se está representando a algo como http://slashdot.org y Slashdot se representa con éxito (por lo que sé que es capaz de proxy en general).
Encendí el inicio de sesión de depuración en Apache y esta es la transacción:
[Dom 22 de abril 16:47:04 2012] [depuración] mod_proxy_http.c (56): proxy: HTTP: URL de canonicalización // localhost: 8983 / [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (1506): [cliente 184.39.79.7] proxy: http: trabajador encontrado http: // localhost: 8983 / para http: // localhost: 8983 / [Dom 22 de abril 16:47:04 2012] [depuración] mod_proxy.c (998): Ejecutando el controlador http del esquema (intento 0) [Dom 22 de abril 16:47:04 2012] [depuración] mod_proxy_http.c (1962): proxy: HTTP: URL de publicación http: // localhost: 8983 / [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (2011): proxy: HTTP: ha adquirido conexión para (localhost) [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (2067): proxy: conexión http: // localhost: 8983 / a localhost: 8983 [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (2193): proxy: conectado / a localhost: 8983 [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (2444): proxy: HTTP: fam 10 socket creado para conectarse a localhost [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (2455): (13) Permiso denegado: proxy: HTTP: intento de conexión a [:: 1]: 8983 (localhost) falló [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (2444): proxy: HTTP: socket fam 2 creado para conectarse a localhost [Dom 22 de abril 16:47:04 2012] [error] (13) Permiso denegado: proxy: HTTP: error al intentar conectarse a 127.0.0.1:8983 (localhost) [Dom 22 de abril 16:47:04 2012] [error] ap_proxy_connect_backend deshabilita al trabajador para (localhost) [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (2029): proxy: HTTP: ha lanzado la conexión para (localhost) [Dom 22 de abril 16:47:04 2012] [depuración] mod_proxy_http.c (56): proxy: HTTP: URL de canonicalización //localhost:8983/favicon.ico [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (1506): [cliente 184.39.79.7] proxy: http: trabajador encontrado http: // localhost: 8983 / para http: // localhost: 8983 / favicon.ico [Dom 22 de abril 16:47:04 2012] [depuración] mod_proxy.c (998): Ejecutando el controlador http del esquema (intento 0) [Dom 22 de abril 16:47:04 2012] [depuración] mod_proxy_http.c (1962): proxy: HTTP: URL de publicación http: // localhost: 8983 / favicon.ico [Dom 22 de abril 16:47:04 2012] [depuración] proxy_util.c (1949): proxy: HTTP: reintentando al trabajador para (localhost) [Dom 22 de abril 16:47:04 2012] [error] proxy: HTTP: conexión deshabilitada para (localhost)
No sé qué son los enchufes fam 10 o fam 2. ¿Alguien tiene alguna idea sobre por qué no está representando mi puerto alternativo?
¡Gracias!
fuente
Respuestas:
Aquí está la solución para su problema:
Para activar este booleano, simplemente tiene que usar esta línea (permisos de raíz)
o
Espero que ayude. Consulta aquí: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans
fuente
Resolví mi problema:
Si lo hago:
sestatus -b | grep httpd
Puedo ver
httpd_can_network_connect
esoff
La solución es escribir:
togglesebool httpd_can_network_connect
fuente
togglesebool
viene (no en mi CentOS7-minimal) y la web sugiere que incluso si tienetogglesebool
solo los valores "en memoria" se cambian " . Perosetsebool -P httpd_can_network_connect=1
funcionó para mí; -P para que sobreviva un reinicio. Gracias por la pista!Asegúrese de que el puerto 8080 esté escuchando ejecutando el siguiente comando
Si no, reinicie el servidor jenkins
Debería funcionar ahora. Espero eso ayude
fuente