Apache https 重定向导致 400 错误
Posted
技术标签:
【中文标题】Apache https 重定向导致 400 错误【英文标题】:Apache https redirection results in 400 error 【发布时间】:2012-03-18 01:35:11 【问题描述】:此问题发生在 Red Hat 实例上。安装的 apache 版本为 [Apache/2.2.19],mod_ssl 版本为 [2.2.16.] HTTP 访问工作正常,但是当为 http 到 https 重定向启用 mod_rewrite 时,会导致以下 400 错误:
Bad Request
Your browser sent a request that this server could not understand.
Request header field is missing ':' separator.
Apache的error_log文件中的错误是:
request failed: error reading the headers
类似的设置在另一个环境中工作。有人可以帮我解决这个问题吗?
谢谢 诺曼 A.
【问题讨论】:
+1 很高兴知道您解决了问题。 【参考方案1】:找到了解决方案。
系统重启似乎更新了我的 yum 包,包括与我的 Apache 安装 [2.2.19] 冲突的 httpd [2.2.22]。
我将 Apache 中的 mod_ssl.so [2.2.16] 更新为 mod_ssl.so [2.2.22],错误已解决。
【讨论】:
你是怎么更新的?这个文件在哪个目录下? 是的,你是如何准确更新它的?我怎么知道通过查看我的 php 信息文件来检查可能导致此问题的 ssl 版本?谢谢【参考方案2】:更新 mod_ssl 和 httpd 也为我们解决了这个问题。感谢所有做出贡献的人。
【讨论】:
以上是关于Apache https 重定向导致 400 错误的主要内容,如果未能解决你的问题,请参考以下文章
.htaccess 中的 apache HTTP:X-Forwarded-Proto 导致开发环境中的重定向循环
apache_conf .htaccess修复了自动重定向/ https交叉源控制台错误的错误
如何结合两个 Apache htaccess 重定向条件(http 到 https 和非 www 到 www)