아파치가 DNS 조회에 실패하는 이유는 무엇입니까?

아파치가 DNS 조회에 실패하는 이유는 무엇입니까?

CentOS 7 웹 서버에는 Apache httpd 역방향 프록시 뒤에 war 파일을 제공하는 tomcat이 있습니다. 이는 WAR 파일이 모두 서버 측 코드일 때 잘 작동합니다. 그러나 클라이언트 측 코드(이 경우 AngularJS)가 서버 측 코드와 함께 war 파일에 포함되면 domain3.com웹 브라우저에 입력할 때 Apache httpd 2.4는 애플리케이션에서 핵심 html 파일의 모든 종속성을 대상으로 합니다. 다음 프록시 오류가 발생합니다:

[proxy:error] AH00898: DNS lookup failure for: resources returned by /res$

이것이 Tomcat 버그가 아닌 Apache 버그인지 확인하기 위해 방화벽에서 앱의 8084 포트를 열고 로드하여 domain3.com:8084클라이언트인 AngularJS 코드를 포함하여 앱이 제대로 실행되고 있는지 확인했습니다.

domain3.com웹 브라우저에 요청이 있을 때 전쟁에 포함된 클라이언트 애플리케이션에 포함 콘텐츠를 제공 하려면 Apache httpd 2.4를 활성화하려면 어떤 구성 변경이 필요합니까 ?

이러한 트랜잭션 domain3.com의 전체 httpd 로그 는 다음과 같습니다.

[Tue Nov 03 14:31:57.662516 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013resources returned by /res$
[Tue Nov 03 14:31:57.747345 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013resources returned by /res$
[Tue Nov 03 14:31:57.752815 2015] [proxy:error] [pid 9294] [client client.ip.addr:57370] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:57.757663 2015] [proxy:error] [pid 11936] [client client.ip.addr:57372] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/an$
[Tue Nov 03 14:31:57.758121 2015] [proxy:error] [pid 4325] [client client.ip.addr:57371] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:57.758509 2015] [proxy:error] [pid 23006] [client client.ip.addr:57373] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/an$
[Tue Nov 03 14:31:57.762749 2015] [proxy:error] [pid 9325] [client client.ip.addr:57374] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:57.829953 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:57.846174 2015] [proxy:error] [pid 9294] [client client.ip.addr:57370] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:57.851022 2015] [proxy:error] [pid 4325] [client client.ip.addr:57371] AH00898: DNS lookup failure for: server.ip.addr:8013somecontroller.js returned$
[Tue Nov 03 14:31:58.049885 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:58.207199 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:58.320704 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:58.428737 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:58.523564 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:58.611546 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013js returned by /js/lib/ang$
[Tue Nov 03 14:31:58.708439 2015] [proxy:error] [pid 9332] [client client.ip.addr:57369] AH00898: DNS lookup failure for: server.ip.addr:8013somecontroller.js returned$

동일한 domain3.com트랜잭션에 대한 Tomcat 로그에는 성공적인 GET 요청이 하나만 표시됩니다.

client.ip.addr - - [03/Nov/2015:14:31:57 -0500] "GET / HTTP/1.1" 200 2944

클라이언트는 이를 종속성에 대한 502 오류로 간주하지만 502 오류 대신 index.html올바르게 제공되는 유일한 리소스입니다.

관련 부분은 /etc/httpd/conf.d/virtualhosts.conf다음과 같습니다.

<VirtualHost www.domain3.com:80>
    ServerName www.domain3.com
    ServerAlias domain3.com
    ErrorLog /var/log/httpd/domain3_com_error.log
    CustomLog /var/log/httpd/domain3_com_requests.log combined
    ProxyPass / ajp://server.ip.addr:8013
    ProxyPassReverse / ajp://server.ip.addr:8013
</VirtualHost>

그렇다면 httpd애플리케이션의 클라이언트 부분에 파일을 포함하라는 요청을 충족하려면 무엇을 변경해야 합니까 domain3.com?

답변1

ProxyPass및 지시어 에 누락된 후행 슬래시를 추가합니다 ProxyPassReverse.

ProxyPass / ajp://server.ip.addr:8013/
ProxyPassReverse / ajp://server.ip.addr:8013/

관련 정보