SSL certificates support gives a significant level of security for your domain names. With the platform, hosting of applications that need SSL becomes fairly easy.
In addition to the Built-In SSL and Let’s Encrypt SSL, the platform provides the ability to upload and use custom SSL certificates for your environments. The platform supports the following certificate types:
In order to add the Custom SSL certificate to your environment, you need to have:
Therefore, follow the next instruction:
Buy a Domain Name (e.g. mysite.com) using any domain registrar.
Generate your server key for the purchased domain name and create a Certificate Request on its basis with the help of any preferred tool.
We’ll use OpenSSL as an example. Depending on the operating system you are using, perform the following steps:
Download the latest OpenSSL tool version. Extract the received archive and run the tool by double-clicking the openssl.exe file in the bin folder. Subsequently, the files created with OpenSSL will appear in the same bin directory by default.
First, you need to generate an SSH private server key with the following command:
genrsa -out {filename} {length}
where
{filename} - name of the output key file with .key extension (e.g. server.key) {length} - private key length in bits (should be at least 2048 to be considered secure, e.g. 4096)
Note: DO NOT protect your key with a passphrase; otherwise, you’ll get an error during its addition to the platform dashboard.
req -config {config_path} -new -key {keyname} -out {filename}
where
{config_path} - path to the openssl.cnf configuration file, located in the directory with extracted OpenSSL files (specified according to the C:\path\to\openssl.cnf format) {keyname} - your server key name (the one you’ve generated in the previous step, server.key in our case) {filename} - desired name of the output request file with .csr extension (e.g. server.csr)
You’ll see a set of questions appear. Answer them to complete the certificate information with your data.
Note: The Common Name parameter value has to be equal to your purchased domain name; otherwise, your certificate won’t be validated.
In case you don’t have the OpenSSL tool installed yet, get it with the appropriate command (according to your OS package manager) executed within your terminal. E.g. for Ubuntu/Debian Linux distribution use the following one:
sudo apt-get install openssl
When the installation process is completed, proceed to generation of the required files. All newly created with OpenSSL files will appear in the home directory of your local machine user by default.
openssl genrsa -out {filename} {length}
where
{filename} - name of the output key file with .key extension (e.g. server.key) {length} - private key length in bits (should be at least 2048 to be considered secure, e.g. 4096)
Note: DO NOT protect your key with a passphrase; otherwise, you’ll get an error during its addition to the platform dashboard.
openssl req -new -key {keyname} -out {filename}
where
{keyname} - your server key name (the one you’ve generated in the previous step, server.key in our case) {filename} - desired name of the output request file with .csr extension (e.g. server.csr).
You’ll see a set of questions appear. Answer them to complete the certificate information with your data.
Note: The Common Name parameter value has to be equal to your purchased domain name; otherwise, your certificate won’t be validated.
Tip: You can sign certificates yourself, follow the link to see the detailed instruction.
Once you’ve received all the required files, you can proceed to configuring your environment.
In order to be secured with a Custom SSL certificate, your environment should have custom domain and Public IP address attached to your application server.
Note: Environments based on the .NET, Go, Node.js servers or custom Docker containers should include the certified load balancer to support custom SSL. In these cases, the external IP address should be attached to the balancer instead of an application server as it becomes the entry point of your environment.
If they are not, the platform can help you to Enable these requirements for your environment in one click. Select the appropriate button next to the list of requirements and your environment topology will be instantly tuned according to them.
To complete the adjustment, click Create for a new environment or click on Apply in case you’ve edited the existing one.
Now you need to set an A Record in order to point your custom domain name to the public IP address of your application.
Additional information and a detailed example can be found in the appropriate Custom Domain Name document.
The last step that you need to perform is to upload the certificate files to your environment.
When the servers in your environment are automatically restarted, let’s ensure everything works properly. For that, enter the bound custom domain name (or the attached external IP address) into your browser’s address bar with https:// connection protocol specified instead of the default http:// one. Your application should be opened without any problems.