ceph-mgr is difficult to put behind an nginx reverse proxy configuration currently because of the HTTP return codes that it uses in different situations.

We have 3 ceph-mgr servers (one on each of 3 monitors).  Only 1 is ever active.  We do not expose the monitors outside of the cluster, so we cannot point the browser directly at the manager IP address, instead we have an nginx proxy server setup on a separate administrative node in front of the cluster.

When a reverse proxy asks an inactive manager for the root URL (/), the inactive mgr will return a 302 redirect code referencing the active mgr node - which is good, we can handle that.  However, when the reverse proxy requests content from the inactive mgr, for example requesting something like "/runtime.26209474bfa8dc87a77c.js", the inactive mgr returns a 404 Not Found error instead of a 302 redirect.  This makes it difficult (impossible?) to get all of the content if an inactive ceph-mgr is selected by the reverse proxy.

It would be nice if any request to an inactive ceph-mgr returned a 302 with the correct location (and full URI path) to the client (the reverse proxy in this case).

thanks,
 Wyllys Ingersoll