Let's Nginx with HTTP2
Put browser-valid TLS termination in front of any Dockerized HTTP service with one command.
docker run --detach \ --name lets-nginx \ --link backend:backend \ --env EMAILfirstname.lastname@example.org \ --env DOMAIN=mydomain.horse \ --env UPSTREAM=backend:8080 \ --publish 80:80 \ --publish 443:443 \ paulgrav/lets-nginx
:zap: To run unattended, this container accepts the letsencrypt terms of service on your behalf. Make sure that the subscriber agreement is acceptable to you before using this container. :zap:
Before you begin, you'll need:
- A place to run Docker containers with a public IP.
- A domain name with an A record pointing to your cluster.
Launch your backend container and note its name, then launch
smashwilson/lets-nginx with the following parameters:
--link backend:backendto link your backend service's container to this one. (This may be unnecessary depending on Docker's networking configuration.)
-e EMAIL=your email address, used to register with letsencrypt.
-e DOMAIN=the domain name.
-e UPSTREAM=the name of your backend container and the port on which the service is listening.
-p 443:443so that the letsencrypt client and nginx can bind to those ports on your public interface.