Nuv*_*ous 12 apache mod-rewrite newline rfc2616 http-headers
我有一个遗留产品,我试图支持Apache服务器和服务器只有在最近的更新开始拒绝请求标头后才使用LF作为换行,并且由于代码库的年龄大小,重建它是一个很高的顺序. .是否有可以使用的设置或mod_rewrite命令可以利用它来允许使用LF而不是CRLF的请求头,或者将LF重写为请求头中的CRLF?
来自app的示例标题:
Host: www.ourhostname.com:80\n
Accept-language: en\n
user_agent: Our Old Application\n
\n
Run Code Online (Sandbox Code Playgroud)
如果我十六进制编辑文件以更改\n为\r\n,它可以工作,但十六进制编辑文件以作为更新发布作为更新是不需要的,我正在尝试找到服务器端的东西,让Apache自己停止阻塞LF.提前感谢您对此问题的任何帮助!
小智 8
我们遇到了同样的问题并发现了Apache的固定漏洞:
重要:Apache HTTP请求解析空白缺陷CVE-2016-8743 https://httpd.apache.org/security/vulnerabilities_24.html
这些缺陷通过Apache HTTP Server 2.4.25的发布解决,并由新指令协调;
HttpProtocolOptions Strict
Run Code Online (Sandbox Code Playgroud)
这是2.4.25及更高版本的默认行为.通过从"严格"行为切换到"不安全"行为,可以放宽一些限制以允许一些无效的HTTP/1.1客户端与服务器通信,但这将重新引入此评估中描述的问题的可能性.请注意,将行为放宽为"不安全"仍然不允许除HTAB之外的原始CTL(在允许的情况下),但是将允许不强制执行其他RFC要求,例如请求行中的两个SP字符.
因此,HttpProtocolOptions Unsafe指令可能是您的解决方案.我们决定不使用它.