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

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

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

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

이것이 Tomcat 오류가 아닌 Apache 오류인지 확인하기 위해 Firewalld에서 앱의 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$

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

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

클라이언트는 이를 종속성에 대한 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/

관련 정보