<p dir="ltr"><br>
On 24 Jul 2013 23:03, "Glenn Maynard" <<a href="mailto:glenn@zewt.org">glenn@zewt.org</a>> wrote:<br>
><br>
> Our nginx server is running on Heroku, which proxies SSL.</p>
<p dir="ltr">What does this mean? Do you see SSL traffic, or do you mean heroku terminates the ssl leaving you with http connections only? </p>
<p dir="ltr">> This mostly works fine, but nginx has one problem with it: since it thinks the protocol is http, any redirects (such as trailing-slash redirects) go to http instead of https.</p>
<p dir="ltr">Show us some config that generates these redirects. </p>
<p dir="ltr">> The usual fix for this is X-Forwarded-Proto, but nginx doesn't support that yet</p>
<p dir="ltr">That doesn't make sense to me. What is there to support? You can just write your redirect directives using X-F-P instead of hard coding the scheme. </p>
<p dir="ltr">> and I haven't found any way to configure it, eg. a configuration directive to override the protocol.<br>
> Nginx seems to decide whether redirects should go to http or https entirely based on whether the connection has an SSL context associated (ngx_http_header_filter), so it doesn't look like there's any way to affect this in configuration.</p>

<p dir="ltr">You've gone into the code far too early IMHO. There's usually a way to change nginx's behaviour in config. <br>
><br>
> Is there any workaround?</p>
<p dir="ltr">Do all requests have x-f-p? 100%? Then just change your redirects to reference it. </p>
<p dir="ltr">J<br>
</p>