Sunday, March 20, 2016

Passenger + Apache “TraceEnable Off”

Leave a Comment

We're using Passenger 4.0.59 behind Apache 2.2 (CentOS 6.latest) with Rails 3.2.

In /etc/httpd/conf/httpd.conf we have:

TraceEnable off 

We have one virtual host configured in httpd.conf and a second virtual host configured in /etc/httpd/conf.d/ssl.conf that's configured with Passenger.

I'm using commands of this form to test:

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

...and seeing the following behavior:

  1. When I TRACE a static image over http, i.e. http://host.domain.com/images/foo.png, I get a 405 response (as expected).

  2. When I TRACE the same static image over https, meaning it goes through the virtual host configured with Passenger, I get 405 (as expected).

  3. However, when I TRACE a Rails service in our app, e.g. https://host.domain.com/status.json, I get a 200 response w/ valid data.

I would expect Apache to shut down the request and return a 405 response before it even gets to Passenger/Rails, but that isn't happening.

What am I missing / misunderstanding?

1 Answers

Answers 1

What am I missing / misunderstanding?

TraceEnable off is the correct directive to use, but you may have another TraceEnable directive elsewhere in your configs.

You should check all of your apache config files to be sure there is no other TraceEnable directives.

Since the TraceEnable directive can be used within either the server config or the virtual host config, so you may just want to add it to both.

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment