3

我们在 Apache 2.2 (CentOS 6.latest) 和 Rails 3.2 之后使用 Passenger 4.0.59。

在 /etc/httpd/conf/httpd.conf 我们有:

TraceEnable off

我们在 httpd.conf 中配置了一个虚拟主机,在 /etc/httpd/conf.d/ssl.conf 中配置了第二个虚拟主机,它配置了Passenger。

我正在使用这种形式的命令来测试:

curl -I -X {method} https://{host}/{resource}

...并看到以下行为:

  1. 当我通过 http 跟踪静态图像时,即http://host.domain.com/images/foo.png,我得到一个 405 响应(如预期的那样)。

  2. 当我通过 https 跟踪相同的静态图像时,这意味着它通过配置有乘客的虚拟主机,我得到 405(如预期的那样)。

  3. 但是,当我在我们的应用程序中跟踪 Rails 服务时,例如https://host.domain.com/status.json,我得到一个带有有效数据的 200 响应。

我希望 Apache 在它到达乘客/铁路之前关闭请求并返回 405 响应,但这并没有发生。

我错过了什么/误解了什么?

4

1 回答 1

0

我错过了什么/误解了什么?

TraceEnable off是要使用的正确指令,但您可能在 configs 的其他地方TraceEnable有另一个指令。

您应该检查所有 apache 配置文件以确保没有其他TraceEnable指令。

由于该TraceEnable指令可以在服务器配置或虚拟主机配置中使用,因此您可能只想将其添加到两者中。

于 2016-03-20T22:45:38.053 回答