http in the Location-header when the original request was made over https
I had a similar issue. Adding the following in your virtualhost config should solve the problem. Basically it would edit the http request to https
Header edit Location ^http://(.*)$ https://$1
You get http in the response headers because the request that reaches Apache is HTTP - the SSL has been stripped away at the load balancer. So from what Apache sees, it's just an HTTP request.
You can work around this by setting
ServerName https://www.example.org
in the global or virtual host configuration. This will override the default http scheme so Apache will send the response you want. The documentation for ServerName mentions this.
http://nginx.org/docs/http/ngx_http_proxy_module.html#proxy_redirect
proxy_redirect default;
proxy_redirect http://www.example.org/ https://www.example.org/;