On the datanodes page of the namenode web UI, the datanode links may not be correct if the namenode is serving the page through http but https is also enabled. This is because dfshealth.js does not put a proper scheme in front of the address. It already determines whether the address is non-secure or secure. It can simply prepend http: or https: to what it is currently setting.
The existing mechanism would work for YARN and MAPRED, since they can only serve one protocol, HTTP or HTTPS.