Why HTTPS (SSL) Internally? Here are some reasons I can think of. Malicious attacks can come from internal engineers not just from outside. Dev/test/staging environments are better to be tested mirroring the production environment as much as possible. It is easier to promote the dev/test/staging environments to production by mirroring the production environment meaning less moving parts between different environments. It has been more of a trend in the network security world that encryption must be done from end to end. How to Create CA Root Certificate CA stands for Certificate Authority . You can be a small Certificate Authority. Here are the steps. Open terminal. (I use Linux Mint as my Linux machine but other distribution should be OK too.) Create a directory. mkdir CA Navigate to the directory. cd CA Generate the private key for your CA. Usually 2048 will suffice but we will use 4096 in this example to make it stronger. openssl genrsa -des3 -out CA.key 4096 Enter pass ...