Hi All,
After considering all possibilities, this would complicate Server-to-Server sync.
Server-to-Server sync happens over CouchDB. The URL for that depends on whether SSL is enabled or not in CouchDB, and it requires some trickery to find out when running inside a docker container proxied through Nginx. Its good to have a predictable container. Its not good to have some containers running without HTTPS (unicorn), and some running with HTTP (proxied thru nginx). Our original RapidFTR container simply has HTTPS always enabled, no matter what the scenario is. So we're not going to switch to Unicorn and then make a separate (outside) nginx handle SSL. It adds to state and makes things more complicated.
So the current plan is:
* Not to touch the current RapidFTR container. It will have nginx+ssl+couchdb+ruby+everything, and its the whole package.
* The separate Nginx proxy will proxy requests over SSL. This will be slow, but then as said above, we don't want to change the original container. Running multiple containers in one machine proxied by nginx is an extra feature, and we wouldn't want to sacrifice/change the normal container for sake of an extra feature. Nginx will remain just an optional wrapper, and we're not going to say "if you want SSL you must run a second proxy container".
Please let me know if this makes sense.
(Just for a background - the present container detects at startup whether a SSL certificate is provided or not, and if not provided, automatically prints a warning and generates a self-signed certificate. so yes, in the current container SSL is always availabe)