Running Nuxeo (in http) behind Apache in https: missing config variable?
We have been running for a while with no problems with Nuxeo/http running behind an Apache httpd reverse proxy also running http. We are currently moving the Apache instance to use https instead.
I followed the instructions in various places, eg here: http://doc.nuxeo.com/display/public/ADMINDOC/HTTP+and+HTTPS+Reverse-Proxy+Configuration
(except with “casemanager” substituted for “nuxeo” as the root of the URL. Also the proxy was set up on a non-standard port, 8090)
And added nuxeo-virtual-host when moving to https.
When trying to access https://REVERSE_PROXY:8090/casemanager/
I would get redirected to
http://REVERSE_PROXY:8090/casemanager/nxstartup.faces
(ie http not https)
This happened regardless of whether nuxeo-virtual-host was set
Looking at the tcpdump logs confirmed the headers were all set sensibly, but the redirect was wrong
Get /casemanager/
Host: REVERSE_PROXY:8090
X-Forwarded-Host REVERSE_PROXY:8090
X-Forwarded-Proto: https
nuxeo-virtual-host: https://REVERSE_PROXY:8090/
was
HTTP/1.1 302 Moved Temporarily
Server: Apache-Coyote/1.1
Location: http://REVERSE_PROXY:8090/casemanager/nxstartup.faces
I fixed it by adding the following directive to Apache for /casemanager/ URLs:
Header edit Location http://(.*/casemanager.*) https://$1
This all seems to work (I didn't remove the nuxeo-virtual-app to see if that was still necessary)
But was curious if I could have messed something up (given the above request headers seem correct) - plus to post my solution in case it helps anyone else.