Cod*_*Med 12 centos tomcat apache-httpd
CentOS 7 Web 服务器有 tomcat 在 apache httpd 反向代理后面提供 war 文件。当 WAR 文件都是服务器端代码时,这非常有效。但是,当客户端代码(在本例中为 AngularJS)与服务器端代码一起包含在 war 文件中时,apache httpd 2.4domain3.com在 Web 浏览器中键入时,会针对应用程序中核心 html 文件的每个依赖项抛出以下代理错误:
[proxy:error] AH00898: DNS lookup failure for: resources returned by /res$
Run Code Online (Sandbox Code Playgroud)
为了确认这是 apache 错误而不是 tomcat 错误,我在 firewalld 中为该应用程序打开了 8084 端口,然后加载domain3.com:8084以找到该应用程序运行完美,包括其客户端 AngularJS 代码。
当请求domain3.com被输入到 Web 浏览器时,为了使 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$
Run Code Online (Sandbox Code Playgroud)
同一domain3.com事务的 tomcat 日志仅显示一个成功的 GET 请求:
client.ip.addr - - [03/Nov/2015:14:31:57 -0500] "GET / HTTP/1.1" 200 2944
Run Code Online (Sandbox Code Playgroud)
客户端将这些视为依赖项的 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>
Run Code Online (Sandbox Code Playgroud)
那么我要更改什么才能httpd在应用程序的客户端部分提供对包含文件的请求domain3.com?
roa*_*ima 38
将缺少的尾部斜杠添加到您的ProxyPass和ProxyPassReverse指令中:
ProxyPass / ajp://server.ip.addr:8013/
ProxyPassReverse / ajp://server.ip.addr:8013/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46545 次 |
| 最近记录: |