在QA和PROD中部署时,当url大小超过特定限制时403错误

时间:2013-02-05 04:48:51

标签: java jboss webserver http-status-code-403

我有一个带有分页显示标记的JSP页面。当我在显示标记中切换页面时,有些数据会通过URL传递。

我在本地系统中在页面之间切换时的观察是当网址长度超过3000个字符时,当我从地址栏复制网址时,它被修剪为2083个字符。但系统按预期工作。

但在QA和prod中,对于同样的情况,我收到403错误。

我正在使用maximum url length is 2083 characters

的IE浏览器

我怀疑是QA中使用的jboss服务器,如果url长度超过某个限制,prod会发出403。这可能吗?我很确定这个问题与JBOSS服务器有一些关系,但无法确切知道它是什么。

1 个答案:

答案 0 :(得分:1)

这很奇怪,因为403错误代码意味着禁止。但正如您所说,Internet Explorer可以处理的最大URL长度是2083,因此URL被截断(它似乎不是JBoss问题)。

但是如果你仍然希望增加JBoss允许的URL长度,你可以尝试增加它的maxHttpHeaderSize(如果没有指定它默认为8192字节)。它可以在web服务器的server.xml中完成(在JBoss 5.1中,例如它位于deploy / jbossweb.sar / server.xml中)。在此文件中,您需要在您使用的HTTP或HTTPS连接器中添加参数(如果它尚不存在),例如:

<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}" 
       connectionTimeout="20000" redirectPort="8443" maxHttpHeaderSize="65536"/>

但是对于提供给您的信息,问题似乎与Internet Explorer的URL length limitation直接相关。