Set X-Forwarded-Proto Header

Heroku passes the X-Forwarded-Proto header to indicate the protocol of
the incoming request[1]. Ruby's rack relies on this header to
determine if a request is HTTPS[2].

Also, the X-Scheme header was removed to eliminate redundant passing of
the scheme.

[1]: https://devcenter.heroku.com/articles/http-routing#heroku-headers
[2]: https://github.com/rack/rack/blob/master/lib/rack/request.rb#L77
This commit is contained in:
Jason Staten
2013-09-09 12:12:01 -06:00
parent 3a111a8308
commit 7f4f46a1e2

View File

@@ -46,7 +46,7 @@ server {
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host \$http_host;
proxy_set_header X-Scheme \$scheme;
proxy_set_header X-Forwarded-Proto \$scheme;
proxy_set_header X-Forwarded-For \$remote_addr;
}
}
@@ -64,6 +64,7 @@ server {
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host \$http_host;
proxy_set_header X-Forwarded-Proto \$scheme;
proxy_set_header X-Forwarded-For \$remote_addr;
}
}