<div dir="ltr">Ian, thanks for raising the issue here.<div><br></div><div>The X-Forwarded headers are the standard way to deal with URLs for services behind proxies. I already commented on the Heat proposal to that effect, I think that is the proper way to support services behind proxies.</div><div><br></div><div>Now in our case, there is also another source of external URLs, the keystone catalog. One can assume the catalog has the externally visible URL under PUBLIC_URL, so I would like to suggest that if the X-Forwarded headers aren't present, the catalog would be a good second source.</div><div><br></div><div>I think having a hardcoded entry in the config (as the glance merged patch does) is not a bad idea as an override for special situations, but I really see no need for that to be the only solution to this problem. Web applications have been working behind proxies using the X-Forwarded headers for a long time, it's a nice and proven solution, in my opinion.</div><div><br></div><div>Miguel </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 3, 2015 at 9:09 AM, Ian Cordasco <span dir="ltr"><<a href="mailto:ian.cordasco@rackspace.com" target="_blank">ian.cordasco@rackspace.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hey all,<br>
<br>
It appears that currently a number of OpenStack services are not<br>
generating version catalogs correctly when the service sits behind a<br>
proxy. (Reference: <a href="https://bugs.launchpad.net/glance/+bug/1384379" target="_blank">https://bugs.launchpad.net/glance/+bug/1384379</a>) Glance<br>
already has a fix that was accepted for kilo-1 but it is suboptimal and<br>
assumes there’s only one proxy-address that will forward the request<br>
(which obviously is not true in every case).<br>
<br>
There exists RFC 7239 (<a href="http://tools.ietf.org/html/rfc7239" target="_blank">http://tools.ietf.org/html/rfc7239</a>) which is recent<br>
but defines a “Forwarded” header with explicit parameters that we should<br>
be using. There are also the defacto standards of X-Forwarded-By and<br>
X-Forwarded-Host that we should be inspecting as well.<br>
<br>
Currently, Glance’s solution is being copied over to other projects<br>
(Trove, Heat, Nova) and it is clearly suboptimal.<br>
<br>
I’m going to work on a more general solution for this, but if anyone can<br>
hammer one out faster, don’t be afraid to submit it. This is absolutely a<br>
bug that should be a high priority for us.<br>
<br>
Cheers,<br>
Ian<br>
<br>
__________________________________________________________________________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" target="_blank">OpenStack-dev-request@lists.openstack.org?subject:unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
</blockquote></div><br></div>