Takashi, thanks for linking that thread. To add the detail into this bug:
From that thread, the issue is that the /v2.1 URL triggers a redirect and nova-api redirects to an absolute URL. The /v2.1/ URL works because no redirect occurs. Bogdan Katynski explains:
"Looks to me that nova-api does a redirect to an absolute URL. I suspect SSL is terminated on the HAProxy and nova-api itself is configured without SSL so it redirects to an http URL.
In my opinion, nova would be more load-balancer friendly if it used a relative URI in the redirect but that’s outside of the scope of this question and since I don’t know the context behind choosing the absolute URL, I could be wrong on that.
I had a similar problem with heat-api running behind an Apache reverse proxy, and managed to resolve it by applying the workaround from this bug report:
Takashi, thanks for linking that thread. To add the detail into this bug:
From that thread, the issue is that the /v2.1 URL triggers a redirect and nova-api redirects to an absolute URL. The /v2.1/ URL works because no redirect occurs. Bogdan Katynski explains:
"Looks to me that nova-api does a redirect to an absolute URL. I suspect SSL is terminated on the HAProxy and nova-api itself is configured without SSL so it redirects to an http URL.
In my opinion, nova would be more load-balancer friendly if it used a relative URI in the redirect but that’s outside of the scope of this question and since I don’t know the context behind choosing the absolute URL, I could be wrong on that.
I had a similar problem with heat-api running behind an Apache reverse proxy, and managed to resolve it by applying the workaround from this bug report:
https:/ /bugs.launchpad .net/python- heatclient/ +bug/1420907
Setting
X-Forwarded-Proto: https
before forwarding the request to heat-api fixed the issue for me."