ckb*_*ckb 25 apache proxy tomcat
我们在tomcat上部署了一个应用程序.要访问应用程序,我们使用apache向tomcat发送请求.随机浏览器给出以下响应.
Proxy Error
The proxy server received an invalid response from an upstream server.
The proxy server could not handle the request GET /sampleapp/<http://samplehost.com:8080/sampleapp/>.
Reason: Error reading from remote server
________________________________
Apache/2.2.21 (Unix) Server at samplehost.com Port 8080
Run Code Online (Sandbox Code Playgroud)
此错误并非始终存在,到目前为止,我们仅在使用IE的客户端计算机中获取此错误.在使用Firefox的同一台客户端计算机上,它运行良好.
以下是Apache日志中针对失败请求的错误跟踪
[Thu Mar 22 02:51:08 2012] [error] [client 10.36.64.137] (20014)Internal error: proxy: error reading status line from remote server localhost:8081, referer: http://samplehost.com:8080/sampleapp/opp/showSearchHome.htm
[Thu Mar 22 02:51:08 2012] [error] [client 10.36.64.137] proxy: Error reading from remote server returned by /sampleapp/opp/searchResult.htm, referer: http://samplehost.com:8080/sampleapp/opp/showSearchHome.htm
Run Code Online (Sandbox Code Playgroud)
当请求失败时,在tomcat日志上不会打印任何内容.
以下是与apache相关的信息安装版本
-bash-3.00$ ./httpd -v
Server version: Apache/2.2.21 (Unix)
Server built: Sep 21 2011 20:00:58
Run Code Online (Sandbox Code Playgroud)
当试图找出加载的模块时,我得到以下错误
-bash-3.00$ /usr/local/apache2/bin/apachectl -t -D DUMP_MODULES
httpd: Syntax error on line 64 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_authnz_ldap.so into server: ld.so.1: httpd: fatal: libldap-2.4.so.2: open failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)
您在帖子中没有提到这一点,但我怀疑您正在启动从浏览器到Apache的SSL连接,其中配置了VirtualHosts,并且Apache为您的Tomcat提供了代理服务.
IE的某些版本(某些版本?)存在严重的错误,它在SSL连接中发送"错误的"主机信息(请参阅下面的编辑)并混淆Apache VirtualHosts.简而言之,所呈现的服务器名称是IP的反向DNS解析之一,而不是URL中的一个.
解决方法是为每个SSL虚拟主机/服务器名称提供一个IP地址.简而言之,你必须得到像这样的东西
1服务器名称== 1 IP地址== 1证书== 1 Apache虚拟主机
编辑
虽然结论是正确的,但这里更好地描述了问题的识别 http://en.wikipedia.org/wiki/Server_Name_Indication
| 归档时间: |
|
| 查看次数: |
140774 次 |
| 最近记录: |