<div dir="ltr">There's a similar option in heat.conf:<br><div><br>secure_proxy_ssl_header = X-Forwarded-Proto<br><br></div><div>Pretty sure that's needed for most services; I will scrub my configs and check. We are running a pretty simple install of Newton, and doing haproxy for SSL termination of all API endpoints.<br></div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 22, 2017 at 9:58 AM, Chris Apsey <span dir="ltr"><<a href="mailto:bitskrieg@bitskrieg.net" target="_blank">bitskrieg@bitskrieg.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Mathieu,<br>
<br>
That did the trick - thank you.  On a related note, heat is exhibiting the same behavior on some of the API calls (stack list works fine, stack show does not because a http URL is returned in the 302 response field, etc.).<br>
<br>
I attempted the combination of 'oslo_middleware/enable_proxy_<wbr>headers_parsing' and 'oslo_middleware/secure_proxy_<wbr>ssl_header' referenced here <a href="https://docs.openstack.org/newton/config-reference/orchestration/api.html" rel="noreferrer" target="_blank">https://docs.openstack.org/new<wbr>ton/config-reference/orchestra<wbr>tion/api.html</a> along with the appropriate haproxy configuration suggested by Mike, but no dice.  The URL doesn't change.  Beyond that, it looks like that option is deprecated anyway (at least in heat), although I have not found any indication about what is supposed to 'replace' those options going forward.<br>
<br>
Ideas?<br>
<br>
Thanks so much,<br>
<br>
---<span class="im HOEnZb"><br>
v/r<br>
<br>
Chris Apsey<br>
<a href="mailto:bitskrieg@bitskrieg.net" target="_blank">bitskrieg@bitskrieg.net</a><br>
<a href="https://www.bitskrieg.net" rel="noreferrer" target="_blank">https://www.bitskrieg.net</a><br>
<br></span><div class="HOEnZb"><div class="h5">
On 2017-02-21 21:46, Mathieu Gagné wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
The problem is that Keystone doesn't know about HAProxy terminating<br>
the SSL connection and therefore doesn't know it needs to generate<br>
URLs with https:// protocol.<br>
<br>
You can override the "auto-detected" URLs with those configurations:<br>
- [DEFAULT]/public_endpoint<br>
- [DEFAULT]/admin_endpoint<br>
<br>
See documentation for a bit more explanation about those<br>
configurations:<br>
<a href="https://docs.openstack.org/draft/config-reference/identity/api.html" rel="noreferrer" target="_blank">https://docs.openstack.org/dra<wbr>ft/config-reference/identity/<wbr>api.html</a><br>
--<br>
Mathieu<br>
<br>
<br>
On Tue, Feb 21, 2017 at 8:56 PM, Chris Apsey <<a href="mailto:bitskrieg@bitskrieg.net" target="_blank">bitskrieg@bitskrieg.net</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm having a strange issue with keystone after migrating all public<br>
endpoints to https (haproxy terminates the SSL connection for each service):<br>
<br>
openstack endpoint list<br>
<br>
+-----------------------------<wbr>-----+-----------+------------<wbr>--+----------------+---------+<wbr>-----------+------------------<wbr>------------------------------<wbr>-+<br>
| ID                               | Region    | Service Name | Service Type<br>
| Enabled | Interface | URL                                             |<br>
+-----------------------------<wbr>-----+-----------+------------<wbr>--+----------------+---------+<wbr>-----------+------------------<wbr>------------------------------<wbr>-+<br>
...<br>
| 99d302d00ab3461cb9362236c865a4<wbr>30 | RegionOne | keystone     | identity<br>
| True    | public    | <a href="https://some.domain.place:5000/v3" rel="noreferrer" target="_blank">https://some.domain.place:5000<wbr>/v3</a>                 |<br>
...<br>
<br>
I have also updated my rc files appropriately.  Whenever I try and use the<br>
CLI against the public endpoints in debug mode, everything starts out<br>
looking good:<br>
<br>
REQ: curl -g -i -X GET <a href="https://some.domain.place:5000/v3" rel="noreferrer" target="_blank">https://some.domain.place:5000<wbr>/v3</a> -H "Accept:<br>
application/json" -H "User-Agent: osc-lib keystoneauth1/2.12.1<br>
python-requests/2.11.1 CPython/2.7.9"<br>
<br>
But then, the response body gives a non-https URL:<br>
<br>
RESP BODY: {"version": {"status": "stable", "updated":<br>
"2016-10-06T00:00:00Z", "media-types": [{"base": "application/json", "type":<br>
"application/vnd.openstack.ide<wbr>ntity-v3+json"}], "id": "v3.7", "links":<br>
[{"href": "<a href="http://some.domain.place:5000/v3/" rel="noreferrer" target="_blank">http://some.domain.place:5000<wbr>/v3/</a>", "rel": "self"}]}}<br>
<br>
and then the attempt to authenticate fails:<br>
<br>
Making authentication request to<br>
<a href="http://some.domain.place:5000/v3/auth/tokens" rel="noreferrer" target="_blank">http://some.domain.place:5000/<wbr>v3/auth/tokens</a><br>
Starting new HTTP connection (1): some.domain.place<br>
Unable to establish connection to<br>
<a href="http://some.domain.place:5000/v3/auth/tokens" rel="noreferrer" target="_blank">http://some.domain.place:5000/<wbr>v3/auth/tokens</a><br>
<br>
I've restarted apache2 on my keystone hosts and I have scoured the database<br>
for any reference to a non-https public endpoint for keystone; I cannot find<br>
one.<br>
<br>
Does anyone know why my response body is giving the wrong URL?  Horizon<br>
works perfectly fine with the https endpoints; it's just the command line<br>
clients that are having issues.<br>
<br>
Thanks in advance,<br>
<br>
--<br>
v/r<br>
<br>
Chris Apsey<br>
<a href="mailto:bitskrieg@bitskrieg.net" target="_blank">bitskrieg@bitskrieg.net</a><br>
<a href="https://www.bitskrieg.net" rel="noreferrer" target="_blank">https://www.bitskrieg.net</a><br>
<br>
______________________________<wbr>_________________<br>
OpenStack-operators mailing list<br>
<a href="mailto:OpenStack-operators@lists.openstack.org" target="_blank">OpenStack-operators@lists.open<wbr>stack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-operators</a><br>
</blockquote></blockquote>
<br>
______________________________<wbr>_________________<br>
OpenStack-operators mailing list<br>
<a href="mailto:OpenStack-operators@lists.openstack.org" target="_blank">OpenStack-operators@lists.open<wbr>stack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators" rel="noreferrer" target="_blank">http://lists.openstack.org/cgi<wbr>-bin/mailman/listinfo/openstac<wbr>k-operators</a><br>
</div></div></blockquote></div><br></div></div></div>