b23f1297e61681bff14bea1e8c2e3e795df64e20
SSL Termination using haproxy
This image translates between plain http and https using haproxy.
How it works
+-------------+
| |
+----+ |
+--------->+8080| Tomcat |
| +----+ |
| | |
+-------------------------+ | +-------------+
| | |
+---+ | +------------+-+ +-------------+
--->+ 80| | | | | |
+---+ | +---+ docker nginx | +----+ |
| +----->+ 80| auto proxy +--------> 80| Wordpress |
+---+ | +---+ | +----+ |
--->+443| | | | | |
+---+ | +--+---------+-+ +-------------+
| | | |
+---------+------------+--+ | | +-------------+
| | | | | |
v | | | +-----+ Flask |
+--+-+ | +------+ | +-------->+5000|| |
|Cert| | |Docker| | +-----+ App |
|Data| +-->+Socket+<----+ | |
+----+ +------+ +-------------+
The docker_ssl_endpoint Container listens on port 443 (expose this port for public) availability. All secure connections coming in on this port are handled using the certificates form the cert data volume and passed on to the target container's port 80.
Starting the container
docker run --name ssl_endpoint -v $PATH_TO_CERT_DATA:/data -v /var/run/docker.sock:/var/run/docker.sock -p $IP:443:443 -p $IP:80:80 -d --link nginx:target docker_ssl_endpoint
Description
Languages
Python
95.5%
Dockerfile
4.5%