Tenho o Apache 2.2.15 em execução na porta 80 e quero fazer proxy de um mecanismo de servlet na porta 8983 do host local. Tenho a instalação em execução em outro servidor, mas mudei para uma máquina CentOS 6. Não está funcionando na nova máquina. Minha configuração de host virtual:
Solicitações de proxy desativadas <Proxy *> Pedido negado, permitir Permitir de todos </Proxy> ProxyPass / http: // localhost: 8983 / ProxyPassReverse / http: // localhost: 8983 /
Posso acessar a porta 8983 se eu usar um navegador e acessá-lo diretamente (e não passar pelo proxy Apache), mas não consigo conectar-me a ele se for para / através do servidor Apache.
Eu posso mudar o que está sendo proxy para algo como http://slashdot.org e o Slashdot obtém um proxy com sucesso (então eu sei que é capaz de proxy em geral).
Ativei o log de depuração no Apache e esta é a transação:
[Dom 22 de abril 16:47:04 2012] [depuração] mod_proxy_http.c (56): proxy: HTTP: URL canonicalizing // localhost: 8983 / [Dom 22 de abril, 16:47:04 2012] [depuração] proxy_util.c (1506): [cliente 184.39.79.7] proxy: http: found worker http: // localhost: 8983 / para http: // localhost: 8983 / [Dom 22 de abril 16:47:04 2012] [depuração] mod_proxy.c (998): Executando o manipulador http do esquema (tentativa 0) [Dom 22 de abril 16:47:04 2012] [depuração] mod_proxy_http.c (1962): proxy: HTTP: URL de veiculação http: // localhost: 8983 / [Dom 22 de abril 16:47:04 2012] [debug] proxy_util.c (2011): proxy: HTTP: adquiriu conexão para (localhost) [Dom 22 de abril 16:47:04 2012] [depuração] proxy_util.c (2067): proxy: conectando http: // localhost: 8983 / ao localhost: 8983 [Dom 22 de abril 16:47:04 2012] [depuração] proxy_util.c (2193): proxy: conectado / ao host local: 8983 [Dom 22 de abril 16:47:04 2012] [depuração] proxy_util.c (2444): proxy: HTTP: soquete fam 10 criado para conectar-se ao localhost [Dom 22 de abril 16:47:04 2012] [depuração] proxy_util.c (2455): (13) Permissão negada: proxy: HTTP: tentativa de conexão com [:: 1]: 8983 (localhost) falhou [Dom 22 de abril 16:47:04 2012] [depuração] proxy_util.c (2444): proxy: HTTP: soquete fam 2 criado para conectar-se ao localhost [Dom 22 de abril, 16:47:04 2012] [erro] (13) Permissão negada: proxy: HTTP: tentativa de conexão com 127.0.0.1:8983 (localhost) falhou [Dom 22 de abril 16:47:04 2012] [erro] ap_proxy_connect_backend desativando trabalhador para (localhost) [Dom 22 de abril 16:47:04 2012] [debug] proxy_util.c (2029): proxy: HTTP: lançou a conexão para (localhost) [Dom 22 de abril 16:47:04 2012] [depuração] mod_proxy_http.c (56): proxy: HTTP: URL canonicalizing //localhost:8983/favicon.ico [Dom 22 de abril 16:47:04 2012] [depuração] proxy_util.c (1506): [cliente 184.39.79.7] proxy: http: found worker http: // localhost: 8983 / para http: // localhost: 8983 / favicon.ico [Dom 22 de abril 16:47:04 2012] [depuração] mod_proxy.c (998): Executando o manipulador http do esquema (tentativa 0) [Dom 22 de abril 16:47:04 2012] [depuração] mod_proxy_http.c (1962): proxy: HTTP: URL de veiculação http: // localhost: 8983 / favicon.ico [Dom 22 de abril 16:47:04 2012] [depuração] proxy_util.c (1949): proxy: HTTP: tentando novamente o trabalhador para (localhost) [Dom 22 de abril 16:47:04 2012] proxy [erro]: HTTP: conexão desativada para (localhost)
Não sei o que são soquetes fam 10 ou fam 2. Alguém tem alguma idéia sobre por que não está proxy para minha porta alternativa?
Obrigado!
fonte
Respostas:
Aqui está a solução para o seu problema:
Para ativar esse booleano, basta usar esta linha (permissões de root)
ou
Espero que ajude. Referência, consulte aqui: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans
fonte
Eu resolvi meu problema:
Se eu fizer:
sestatus -b | grep httpd
Eu posso ver
httpd_can_network_connect
éoff
A solução é digitar:
togglesebool httpd_can_network_connect
fonte
togglesebool
vem (não no meu CentOS7-mínimo) eo web sugere que mesmo se você tivertogglesebool
apenas o "na memória" valores são alterados" Mas.setsebool -P httpd_can_network_connect=1
Trabalhado para mim;. -P para torná-lo sobreviver a uma reinicialização Obrigado por a dica!Verifique se a porta 8080 está escutando, executando o seguinte comando
Caso contrário, reinicie o servidor jenkins
Deve funcionar agora. Espero que ajude
fonte