<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Hi<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Ok, how exactly does that work? Because it seems like<br>
oslo_middleware.ssl is only changing the protocol if the proxy sets it.<br>
<br>
But the host in the urls will still be the individual host, which isn't<br>
the proxy hostname/ip. Sorry if I'm being daft here, just want to<br>
understand how that flow ends up working.<br></blockquote><div></div><div><br></div><div></div>Host and X-Forwarded-Proto headers are provided by the proxy to the service.<br><div>Host and X-Forwarded-Proto headers are either built by the proxy or forwarded (if there are many proxies).<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>
</span>Will that cover the case of webob's request.application_uri? If so I<br>
think that covers the REST documents in at least Nova (one good data<br>
point, and one that I know has been copied around). At least as far as<br>
the protocol is concerned, it's still got a potential url issue.</blockquote><div><br>I let Julien answers :)<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span>
</span>It also looks like there are new standards for Forwarded headers, so the<br>
middleware should probably support those as well.<br>
<a href="http://tools.ietf.org/html/rfc7239" rel="noreferrer" target="_blank">http://tools.ietf.org/html/rfc7239</a>.<br>
</blockquote><div><br></div><div>Good to know! I can update SSLMiddleware to handle it as the rfc uses the format:<br><br></div><div>  "Forwarded: proto=https"<br><br></div><div>which is different from de facto standard (supported by SSLMiddleware):<br><br></div><div>  "X-Forwarded-Proto: https"<br></div><div><br></div><div>Cédric<br></div><div> </div></div></div></div>