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