我正在解决这个问题,我的 REST 客户端(curl)程序正在向我的 Apache httpd 2.2.15(RHEL6)发送一个很长的 URI(5000 个字符),但被拒绝。从 Apache 文档中,我读到了默认的最大值。支持的 URI 长度为 8190(通过 LimitRequestLine此处),但是当我提供 5000 个字符的 URI(如 somehost/dir1/dir2/dir3/.../dir700/ )时,我在 ssl_error_log 文件中收到此错误:
[Tue Apr 02 17:29:16 2013] [error] [client 10.0.100.1] (36)File name too long: Cannot map GET <<long URI>> HTTP/1.1 to file
从 apache 代码来看,这似乎达到了 Linux 的 PATH_MAX(4096) 限制。如果是这种情况,那么我如何确保 URI 最多支持 8190 个字符?或者是否有任何其他限制将路径限制为 4096 个字符?