HAProxy is free, open source software written in C that provides a high availability  layer 4 and layer 7 load balancing and proxying . It has a reputation for being fast and efficient (in terms of processor and memory usage).
In this video I want discuss the following

Current & Desired Architecture 2:30
HAProxy Architecture  5:50
HAProxy as TCP Proxy & HTTP Proxy (Layer 4 vs Layer 7) 17:00
ACL (Access Control Lists) 19:20
TLS Termination vs TLS Pass Through 20:40
Example 24:23

Spin up the services 25:51
Install HAProxy - 28:00

HAProxy configuration 29:11
ACL Conditional 39:00

ACL Reject URL 48:00

Enable HTTPS HAProxy 53:00
Enable HTTP/2 on HAProxy 1:05:30


Summary

Cards
Docker Javascript node 4:00
Varnish 15:46
NAT 23:30
Docker Javascript node 26:00
Encryption 56:00
TLS 56:10
HTTP2 1:08:40
Source Code for Application
HAProxy config
https://github.com/hnasr/javascript_playground/tree/master/proxy
Docker application
https://github.com/hnasr/javascript_playground/tree/master/docker
resources
https://www.haproxy.com/blog/the-four-essential-sections-of-an-haproxy-configuration/
https://www.haproxy.com/documentation/aloha/10-0/traffic-management/lb-layer7/acls/#predefined-acls
https://certbot.eff.org/lets-encrypt/osx-nginx