SSL termination
SSL termination is the term given to the decrypting of a TLS-encrypted (HTTPS) stream into plain text (HTTP). The TLS module in Node core is not as fast as some other technologies used for terminating SSL and is generally not used in production. Our application runs entirely over HTTPS, so TLS performance is vital.
Fortunately, we have options for SSL; we will use stud
, a network proxy that terminates TLS/SSL connections and forwards the unencrypted traffic to a web server. Stud is built on libev
and is non-blocking; it is designed to handle tens of thousands of connections efficiently on multicore machines. Let's clone the stud GitHub repository:
git clone http://github.com/bumptech/stud.git
Now compile stud from source:
cd stud make sudo make install
When the installation is complete, we can generate a stud file. Stud comes with a default configuration that we can request via:
cd vision-web stud --default-config > stud.conf
Our stud file, ./vision-web/stud.conf
, requires...