Running CLOUDFLOW over SSL
It is possible to setup CLOUDFLOW to run over SSL.
To do so, follow these steps:
1. Obtain a certificate
An SSL server needs a certificate. It's important that the certificate is converted to the pem format. For example PFX or PKCS#12 formatted certificates (typically for Microsoft IIS) need to be converted to a PEM formatted certificate (for Apache).
The PEM file is normally supplied by the SSL provider. You don't have to generate the PEM file yourself.
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 30 -nodescat key.pem >> cert.pemThe end result is a single resulting pem file: cert.pem
-----BEGIN something----
base64-encoded data
-----END something------ Your private key.
- Your certificate.
- Any intermediate certificates (only if they are supplied by the SSL provider).
Example
-----BEGIN CERTIFICATE-----
MIIDtTCCAp2gAwIBAgIJAN07dYJz/tVpMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV
BAYTAkJFMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX
aWRnaXRzIFB0eSBMdGQwHhcNMTUxMjAzMTQ0ODQ4WhcNMTYwMTAyMTQ0ODQ4WjBF
MQswCQYDVQQGEwJCRTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50
ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEA36nuRpY2rG89T3Ygfnwn9k6pMerRDbb+MhZrT2SuQkp8bQv9hMhERZnP
rkvY6K7tQE5BkNYvlzjkr1+XAeDE1172I7/8VmrOv4wniatJWmPjU+MwZONJbIfk
DuWoiwGiN5iNARSwkKpEocQh1zihdDgwge/swLT2vqwEl2ljg+zgu9jv9Rkhn6Ak
nD8MPYnzsIlllPG2Rb7I/J5N6XQ9IwcZZCCkY+hdEx99w0NsVf4CJlN/Wj0s3Pjh
BCBHS0ihVW+Rwyd2nMlhmJCnXFx15UCncxfToy2Jrln/P0g9v3wIy0TGJ1pWtCOv
ZpdaUcY0MfffssJf+A7WF0u2QkqQgwIDAQABo4GnMIGkMB0GA1UdDgQWBBS/tn3p
60jmZcs4NukRY7vGCYAzYDB1BgNVHSMEbjBsgBS/tn3p60jmZcs4NukRY7vGCYAz
YKFJpEcwRTELMAkGA1UEBhMCQkUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNV
BAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZIIJAN07dYJz/tVpMAwGA1UdEwQF
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAJGVBeQ7U0tEBM//C/zwq1qrUmsFvUPK
7zcQn1zKLIbdr/TQ/OcGwEGzte3QEyOquekXlTRWYLdvQ6/rbYA8fdBoHujTNTLL
1FYDaYvTOfjSPf+CvnN69VN2x3t2yjSyyK4JjyDNT+S/v7lrlDCQOPHCnV2oQBH5
zKcgEKMwKoCmnmh9KB0+AbUe+/ZCoqEu93uDX+sQZKZy6ev4oA7pKaIDayEcEqsA
95CWKVXFWwgGd00LeUtEFpl0SCeB8v1cfIOxBENhP2zfeOZ0uiMrHwfsfyfBgrAc
UNFE/i50UYmpD0mXv/MFV3M7yQZrIVBzyBlxRiQ3XODwZMqi+7zn5dE=
-----END CERTIFICATE-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA36nuRpY2rG89T3Ygfnwn9k6pMerRDbb+MhZrT2SuQkp8bQv9
hMhERZnPrkvY6K7tQE5BkNYvlzjkr1+XAeDE1172I7/8VmrOv4wniatJWmPjU+Mw
ZONJbIfkDuWoiwGiN5iNARSwkKpEocQh1zihdDgwge/swLT2vqwEl2ljg+zgu9jv
9Rkhn6AknD8MPYnzsIlllPG2Rb7I/J5N6XQ9IwcZZCCkY+hdEx99w0NsVf4CJlN/
Wj0s3PjhBCBHS0ihVW+Rwyd2nMlhmJCnXFx15UCncxfToy2Jrln/P0g9v3wIy0TG
J1pWtCOvZpdaUcY0MfffssJf+A7WF0u2QkqQgwIDAQABAoIBAQDKwO8hyfZSJp07
tWgLgV1wqSoz+Bv/BM42daBd3nUh3wggimgNwMYzGhXseRFvDXRBgS9qrt+BhK+6
Uzs/FpUacBlNmzKS3EwD1HfbEw1yBW8EksVCD9B1tFKHNqWtLZPyNjZMrobI/bEt
u/C5e7rQ8kb245qJrwKnIqUe5Qizg4zKua2/ehsci21xOklaanAQyyaCF0b8Pu9q
MZ4AghW6F5ta/mRiiXyiaIe6j/9XZRStbyCNSGNl3glOEpgdysFZLT/dM14cCZRw
N1+HeYJ5NQsRbjsucwPU00jzSuDOeV6h4e2P5cmCmoh0lXQ75YW525fVGTe496/b
K9ynovpRAoGBAPY3gs2Dg6RMwip+eSZMDIkiV7z4M35cTNW3bU/A5v/4H8ydhRKG
Me5yTMy0eYWd5mrinWlsjqqooyq9OZY9yCM3j2rbwS+glF23Rb7aLdpyggPOMvdD
HuMC8lR36Y8zYZWNx9RVQyos7H+2QYrp65FXUqsyLZSw+4yuc75goTGtAoGBAOiN
A0lz5yBFgbqqzOksDPcppnZjrwUlFSKR7lBbakzcP8ru6mBMq8IGmyouHdd8Js9i
GXX1OiCNSNB3ge2gpt9l2ehyXozCfAsV7IzMxpHsEnLoJwlS/cr6a1bhGqrjK8a+
dIby2cOZ9a8wPr6jQDpI9axk3GggOA55td4Hh/DvAoGBALKoAO+i2Cil0dYHw1y4
nff7xXJHHwY3b0E8QcM3E+b0Yg6U1fRlD2IX6gY3hl4f/wvbt6DBtpu6lfrzJxAP
cGOtcxF0t68Zc860p5Uet1rk79ZXDsBAIe9TOgd0ozLXc52TLUazP3Mg+dKJqvFj
Xx0tIb07Qbu82Cpyg2XGs/BZAoGAPq3DNQkIQqp5TNa8ZBx7YiLXuxEjGz/jcm3i
zcXV4OF8UDYU9d+0a5dcOwIzCOFtlHfcZO6zvBJYjdeoLWQflhbdpMkussG4rUQ7
fbezzaDTWCU6YEj+HrdgNwp1JZoVMnwi7DyIdTAKCC34u2lE5nDDxrNotKf6c+xa
GH3vJgECgYEAg2M/Ogj+5x5rT7N+PQBzQXHBo/RKyYX0r9q6BJbiF/4KtJXEd8I0
CgzmjdcnjmwKtzdCMClkRg5yUAbvzW2R3sZrq6NUi/iZuLZkLxuq2F/36boMovGY
IOOr5MGrwmU48L2sHgOMquS6dVSeDnl6tKiDwGo6qM3aXYVTXll1zoY=
-----END RSA PRIVATE KEY-----2. Install CLOUDFLOW so that it uses SSL
You can set up CLOUDFLOW to use SSL by specifying the --ssl option with the .pem file obtained in step 1.
Examples:
nucleusd --install --ssl
cert.pem
This makes CLOUDFLOW listen to port 9090 using SSL with the default options. You will also need to specify the Webserver URL in the settings page to https://server_address:9090/
nucleusd --install -i serverid -d mongo_ip -p 443 --ssl
cert.pem
This makes CLOUDFLOW listen to port 443 using SSL with a custom server id and mongoDB IP address. You will also need to specify the Web server URL in the settings page to https://server_address:443/