Fix Metacat's DataONE configuration to set the correct base URL
There are two issues with Metacat's administration screen for registering and updating a member node:
1) When the global server.httpPort is set to 80 (vs 443), the base URL gets set to HTTP (not HTTPS). Construct the base URL preferentially with the HTTPS port.
2) Mark Reyes reported that when the Apache server URL is different than the Tomcat server URL, the admin screen incorrectly sets the base URL to the latter. It should be the former.
Their base URL should be: https://merritt.cdlib.org:8084/knb/d1/mn, but it was set to http://d1mn.cdlib.org:8090/knb/d1/mn (the server that houses their Tomcat installation, which is behind a firewall)
#2 Updated by Ben Leinfelder over 8 years ago
- Status changed from New to In Progress
For item #1 this has been a known problem. I think we can assume https for constructing the baseURL for DataONE, but we might also want to make the overall Metacat logic driving this choice a little more robust. Currently https support is more or less restricted to running on the default 443 port and it's very easy to mix http and https in the skins depending on how the application is configured vs. what a user navigates to initially.
For #2 I'm not sure we can do much of anything. There is a single hostname configuration value and this should be the externally-resolvable hostname. For, e.g., skins this means that any resources that need to be included to construct a page (images, css, js) use the configured hostname that the browser can resolve. Any hidden tomcat hostname that is behind an apache hostname should be completely transparent. I do think this should just work if you make sure to configure Metacat to use the external (Apache) hostname.