로컬 호스트 포트에서 Apache 프록시가 작동하지 않습니다


16

포트 80에서 Apache 2.2.15를 실행 중이고 localhost 포트 8983에서 서블릿 엔진을 프록시하려고합니다. 다른 서버에서 설정을 실행하고 있지만 CentOS 6 시스템으로 이동했습니다. 새 컴퓨터에서는 작동하지 않습니다. 내 가상 호스트 구성 :

ProxyRequests 끄기

<프록시 *>
   주문 거부, 허용
   모두 허용
</ Proxy>

ProxyPass / http : // localhost : 8983 /
ProxyPassReverse / http : // localhost : 8983 /

브라우저를 사용하고 포트로 직접 이동하면 (아파치 프록시를 거치지 않음) 포트 8983에 액세스 할 수 있지만 Apache 서버를 통해 이동하면 연결할 수 없습니다.

프록시되는 내용을 http://slashdot.org 와 같이 변경할 수 있으며 Slashdot는 성공적으로 프록시됩니다 (따라서 일반적으로 프록시 할 수 있음).

Apache에서 디버그 로깅을 설정했으며 이것이 트랜잭션입니다.

[2012 년 4 월 22 일 16:47:04] [debug] mod_proxy_http.c (56) : 프록시 : HTTP : 표준 URL // localhost : 8983 /
[2012 년 4 월 22 일 16:47:04] [디버그] proxy_util.c (1506) : [클라이언트 184.39.79.7] 프록시 : http : http : // localhost : 8983 /에 대한 작업자 http : // localhost : 8983 /를 찾았습니다.
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy.c (998) : 체계 http 핸들러 실행 (시도 0)
[일 4 월 22 일 16:47:04 2012] [디버그] mod_proxy_http.c (1962) : 프록시 : HTTP : 게재 URL http : // localhost : 8983 /
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2011) : 프록시 : HTTP : (localhost)에 대한 연결을 획득했습니다
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2067) : 프록시 : http : // localhost : 8983 /을 localhost : 8983에 연결
[Sun 4 월 22 일 16:47:04 2012] [debug] proxy_util.c (2193) : 프록시 : 로컬 호스트에 연결됨 : 8983
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2444) : 프록시 : HTTP : localhost에 연결하기 위해 fam 10 소켓이 생성되었습니다
[Sun 4 월 22 일 16:47:04 2012] [debug] proxy_util.c (2455) : (13) 권한 거부 : proxy : HTTP : [:: 1] : 8983 (localhost)에 연결하지 못했습니다.
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2444) : 프록시 : HTTP : localhost에 연결하기 위해 fam 2 소켓이 생성되었습니다
[일 4 월 22 일 16:47:04 2012] [오류] (13) 권한 거부 : 프록시 : HTTP : 127.0.0.1:8983(localhost)에 연결하지 못했습니다.
[2012 년 4 월 22 일 일요일 16:47:04] [오류] ap_proxy_connect_backend (localhost)에 대한 작업자 비활성화
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (2029) : 프록시 : HTTP : (localhost)에 대한 연결을 해제했습니다
[2012 년 4 월 22 일 16:47:04] [디버그] mod_proxy_http.c (56) : 프록시 : HTTP : 표준 URL //localhost:8983/favicon.ico
[2012 년 4 월 22 일 16:47:04] [디버그] proxy_util.c (1506) : [클라이언트 184.39.79.7] 프록시 : http : http : // localhost : 8983 /에 대한 작업자 http : // localhost : 8983 /를 찾았습니다. favicon.ico
[Sun Apr 22 16:47:04 2012] [debug] mod_proxy.c (998) : 체계 http 핸들러 실행 (시도 0)
[일 4 월 22 일 16:47:04 2012] [디버그] mod_proxy_http.c (1962) : 프록시 : HTTP : 게재 URL http : // localhost : 8983 / favicon.ico
[Sun Apr 22 16:47:04 2012] [debug] proxy_util.c (1949) : 프록시 : HTTP : (localhost)에 대한 작업자 재시도
[일 4 월 22 일 16:47:04 2012] [오류] 프록시 : HTTP : (localhost)에 대한 연결 비활성화

fam 10 또는 fam 2 소켓이 무엇인지 모르겠습니다. 왜 내 대체 포트로 프록시하지 않는지에 대한 아이디어가 있습니까?

감사!


Apache 프록시는 HTTP 또는 HTTPS 트래픽 만 통과하도록 허용합니다.
ionFish

답변:


7

문제에 대한 해결책은 다음과 같습니다.

이 부울을 켜려면 간단히이 줄을 사용해야합니다 (루트 권한).

setsebool -P httpd_can_network_connect on

또는

sudo setsebool -P httpd_can_network_connect on

희망이 도움이됩니다. 참조 여기를 참조하십시오 : https://wiki.centos.org/TipsAndTricks/SelinuxBooleans


11

내 문제를 해결했습니다.

만약 내가한다면: sestatus -b | grep httpd

내가 볼 수있는 httpd_can_network_connectIS를off

해결책은 다음을 입력하는 것입니다. togglesebool httpd_can_network_connect


4
togglesebool(내 CentOS7- 최소가 아닌) 어디에서 왔는지 확실 하지 않으며 웹 togglesebool 에서 "in memory"값만 변경된 경우에도 변경되었음을 나타냅니다 . " 그러나 setsebool -P httpd_can_network_connect=1나를 위해 일했습니다. 힌트 :
jwd630

1

다음 명령을 실행하여 포트 8080이 수신 대기 중인지 확인하십시오.

netstat -tlpn

그렇지 않은 경우 jenkins 서버를 다시 시작하십시오.

sudo /etc/init.d/jenkins start

지금 작동합니다. 그것이 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.