clean:
docker ps -a | awk 'NR!=1 { print $1 }' | xargs docker rm
docker images | awk 'NR>1' | awk '/ch13.*/ {print $1":"$2}' | xargs docker rmi
+
+# Generate self-signed certs for localhost
+ssl: certs/nginx.crt certs/nginx.key
+
+certs/nginx.crt certs/nginx.key:
+ openssl req -new -x509 -nodes -out certs/nginx.crt -keyout certs/nginx.key -subj '/CN=localhost' -days 3650
--- /dev/null
+-----BEGIN CERTIFICATE-----
+MIICGzCCAYSgAwIBAgIJAMqE7ByAR8RBMA0GCSqGSIb3DQEBBQUAMBQxEjAQBgNV
+BAMTCWxvY2FsaG9zdDAeFw0xNzAxMjgxODA1MjlaFw0yNzAxMjYxODA1MjlaMBQx
+EjAQBgNVBAMTCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
+xfRnP0nBXfmthUtxaXgAvWdRfK+htc3cFcdfawK8Dwf03zGMv6izXF2MNMnSfJIq
++himGqdfFJwoLd5rRAvUGN30XYrTtLtMacgijDi0v/34tjG0mOzLF7VCPh+yqmDW
+r8ROdJQ5ly387cJaa59iLwcjzjJq01XERGkcWEIeP8sCAwEAAaN1MHMwHQYDVR0O
+BBYEFGi4tN9PjkXA9Kh/RkZlzSX3OlU0MEQGA1UdIwQ9MDuAFGi4tN9PjkXA9Kh/
+RkZlzSX3OlU0oRikFjAUMRIwEAYDVQQDEwlsb2NhbGhvc3SCCQDKhOwcgEfEQTAM
+BgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4GBABx6pIJTSyOg4fistsFhOIa4
+Y3qv9OySFTO+WYxUYZtdnbDVnRmKLqZXVGH2oM7vgwpjFzYqRhbmqEzEb7F70e3Z
+Q8HQCy7JEkvNOKGqm3q//ZPS4G/jbEFUWrN6fLz67sPBJnMbGQ52sCTxMBieQmMS
+dyi9cnCBmDM3i5NJ4OQw
+-----END CERTIFICATE-----
--- /dev/null
+-----BEGIN RSA PRIVATE KEY-----
+MIICXwIBAAKBgQDF9Gc/ScFd+a2FS3FpeAC9Z1F8r6G1zdwVx19rArwPB/TfMYy/
+qLNcXYw0ydJ8kir6GKYap18UnCgt3mtEC9QY3fRditO0u0xpyCKMOLS//fi2MbSY
+7MsXtUI+H7KqYNavxE50lDmXLfztwlprn2IvByPOMmrTVcREaRxYQh4/ywIDAQAB
+AoGBAKOXJvwWZ8bR36SYhFE06uebyqvQOUOVrJwS97fnuqJxYNxSho6dTBy48nVt
+lJV99iZY2GyOhPTzWAEQHnVNkSjHoyeN5+XOC8sTeo8ckDTsq5/0sY1P+gkEE5pS
+2nLY4jhufT/MWaknTbpWD2KrxD2hFI5hwVOdUGtF8s0WMyoBAkEA5P15T+kBKPya
+42vtf89BNqq2MM8ehgneyVIpvm+NlRHLHalrqis9BkvxwAsLsY0TSedcZA8ZeDpW
+VVb3M4IJGwJBAN1Nyqm2zaKQbULrPqQtfF+KcUrabU+Al/6iRCVrBFo6Vj2SIs8p
+2ssXJle5NltPDTGKkhG+eHQrlOHKR9SaPxECQQCcVpIkhKhOG2iELIOR5yZW9GY/
+HKlySfrY6EenxPGc/PD351uiarLXQbJjsybgqbiplFP33Hc/JlUbHqzXdchRAkEA
+wczOHbGogyRXirLYOI5czI5AiHygHW9Pq/4OD3aYaSuNOn4vXZwZrqCnQ0s+/tdL
+hocDQ+a5NYK07sZmARjTAQJBAMdlnvDdwM20z1gqB9+e7JR53VmHJ2r7IRCO4MWz
+TYY+mFFxXd7Ygg7jNnW9BSasDHuRPLo9PWxYYwdQEnXtHIo=
+-----END RSA PRIVATE KEY-----