BonCode连接器,IIS 7.5& Tomcat 8,间歇性通用连接器错误

时间:2016-03-03 10:37:23

标签: iis-7.5 tomcat8

我在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,也没有相关的证书。

客户诊断

  • IE 11开发人员工具>网络

显示了HTTP 502的生成。

  • 的Fiddler

显示了HTTP 502的生成。

服务器诊断

  • BonCode日志

偶尔会看到:

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

但通常没有显示相关的错误/警告

  • IIS失败的跟踪请求

显示在模块“ManagedPipelineHandler”中生成HTTP 502。

  • Tomcat日志

没有错误,正如预期的那样,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之外,还有其他连接器选项:

  • Tomcat ISAPI
  • IIS ARR

如果我们对BonCode不满意,我们可能会尝试下一步的IIS ARR。

感谢阅读。

1 个答案:

答案 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>