Proxy Apache não está funcionando para uma porta localhost

16

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!

ksclarke
fonte
O proxy Apache permitirá apenas que o tráfego HTTP ou HTTPS passe por ele.
ionFish

Respostas:

7

Aqui está a solução para o seu problema:

Para ativar esse booleano, basta usar esta linha (permissões de root)

setsebool -P httpd_can_network_connect on

ou

sudo setsebool -P httpd_can_network_connect on

Espero que ajude. Referência, consulte aqui: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans

Mchoeti
fonte
11

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

ksclarke
fonte
4
Não sabe onde toggleseboolvem (não no meu CentOS7-mínimo) eo web sugere que mesmo se você tiver togglesebool apenas o "na memória" valores são alterados" Mas. setsebool -P httpd_can_network_connect=1Trabalhado para mim;. -P para torná-lo sobreviver a uma reinicialização Obrigado por a dica!
jwd630
1

Verifique se a porta 8080 está escutando, executando o seguinte comando

netstat -tlpn

Caso contrário, reinicie o servidor jenkins

sudo /etc/init.d/jenkins start

Deve funcionar agora. Espero que ajude

Ajeet Khan
fonte