Fixed that SSL would not correctly be detected when running lighttpd/fcgi behind lighttpd w/mod_proxy (closes #3548) [stephen_purcell@yahoo.com]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3467 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
David Heinemeier Hansson 2006-01-23 05:32:59 +00:00
parent c3cfc2636b
commit 010e999092
3 changed files with 15 additions and 1 deletions

View File

@ -1,5 +1,7 @@
*SVN*
* Fixed that SSL would not correctly be detected when running lighttpd/fcgi behind lighttpd w/mod_proxy #3548 [stephen_purcell@yahoo.com]
* Added the possibility to specify atomatic expiration for the memcachd session container #3571 [Stefan Kaes]
* Change layout discovery to take into account the change in semantics with File.join and nil arguments. [Marcel Molina Jr.]

View File

@ -153,7 +153,7 @@ module ActionController
# Is this an SSL request?
def ssl?
env['HTTPS'] == 'on'
env['HTTPS'] == 'on' || env['HTTP_X_FORWARDED_PROTO'] == 'https'
end
# Returns the interpreted path to requested resource after all the installation directory of this application was taken into account

View File

@ -237,5 +237,17 @@ class RequestTest < Test::Unit::TestCase
assert @request.xml_http_request?
assert @request.xhr?
end
def test_reports_ssl
assert !@request.ssl?
@request.env['HTTPS'] = 'on'
assert @request.ssl?
end
def test_reports_ssl_when_proxied_via_lighttpd
assert !@request.ssl?
@request.env['HTTP_X_FORWARDED_PROTO'] = 'https'
assert @request.ssl?
end
end