我在IIS 7.5上安装了一个JSP Web应用程序。在Win 2008 R2 64位上通过BonCode AJP13 v1.0.26进行Tomcat 8.0.30。
在生产环境中,有些用户会收到间歇性的BonCode错误:
Generic Connector Error: Please check...
有没有人知道BonCode 1.0.26,IIS 7.5& Tomcat 8?
详情
受影响的用户似乎漫游笔记本电脑和通过VPN连接的家庭工作人员 即桌面似乎不受影响。
Tomcat / JSP web-app上没有身份验证。
单个Tomcat实例与IIS 7.5位于同一服务器上。 即没有负载平衡等。
仅使用普通HTTP 即不是HTTPS,也没有相关的证书。
客户诊断
显示了HTTP 502的生成。
显示了HTTP 502的生成。
服务器诊断
偶尔会看到:
2016-02-29 15:59:01 1.0.26 ERROR
TCP Client level -- Server/Port:localhost/8009
Value cannot be null.
Parameter name: buffer
2016-02-29 15:59:01 One Connection raised an error
但通常没有显示相关的错误/警告
显示在模块“ManagedPipelineHandler”中生成HTTP 502。
没有错误,正如预期的那样,servlet / JSP请求没有被转发。
配置文件
BonCode - BonCodeAJP13.settings
<Settings>
<Port>8009</Port>
<Server>localhost</Server>
<MaxConnections>0</MaxConnections>
<LogLevel>4</LogLevel>
<LogDir>E:\inetpub\logs\BonCode</LogDir>
<FlushThresholdTicks>0</FlushThresholdTicks>
<EnableRemoteAdmin>False</EnableRemoteAdmin>
<PacketSize>65536</PacketSize>
</Settings>
Tomcat - server.xml
...
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443"
packetSize="65536" />
...
备注
我知道,除了BonCode之外,还有其他连接器选项:
如果我们对BonCode不满意,我们可能会尝试下一步的IIS ARR。
感谢阅读。
答案 0 :(得分:0)
经过多次试验和错误后,似乎必须过滤掉授权HTTP标头。
某些客户端计算机,漫游笔记本电脑等似乎会生成非常大的授权数据包 - 我看到大小约为12K。
无论出于何种原因,尽管在BonCode和BonCode上都将数据包大小设置为64K。 Tomcat 8,这个标题似乎太大了。
这是我们现在的BonCode配置 - 请注意更新的 HeaderBlacklist 值
<Settings>
<Port>8009</Port>
<Server>localhost</Server>
<MaxConnections>0</MaxConnections>
<LogLevel>2</LogLevel>
<LogDir>E:\inetpub\logs\BonCode</LogDir>
<FlushThreshold>0</FlushThreshold>
<EnableRemoteAdmin>False</EnableRemoteAdmin>
<HeaderBlacklist>AUTHORIZATION,URL,SERVER_SOFTWARE,SERVER_NAME,SERVER_PROTOCOL</HeaderBlacklist>
<PacketSize>65536</PacketSize>
</Settings>