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 错误的主要内容,如果未能解决你的问题,请参考以下文章

IIS 强制 https 重定向导致 503 错误

.htaccess 中的 apache HTTP:X-Forwarded-Proto 导致开发环境中的重定向循环

apache_conf .htaccess修复了自动重定向/ https交叉源控制台错误的错误

如何结合两个 Apache htaccess 重定向条件(http 到 https 和非 www 到 www)

Nginx 重定向(非 www 到 www)不适用于 Certbot

Tomcat 未重定向到 400 bad request 自定义错误页面