Introduction
Introduction Statistics Contact Development Disclaimer Help
----------------------------------------
acme.sh shenanigans
March 29th, 2018
----------------------------------------
These are notes to myself on how I finally got acme.sh and nginx
to play nice.
Step 1: Generate a cert
I'm using the namesilo api method here, so this part is simple.
acme.sh --issue --dns dns_namesilo --dnssleep 900 -d tomasino.org
-d www.tomasino.org -w /var/www
Step 2: Create a place to put those certs
This part was a struggle. Since acme.sh doesn't need root to run,
so I wasn't sure where to go. Eventually I settled on creating
a directory at /etc/nginx/acme.sh/domain/ and changed ownership to
www-data:www-data. I'm a member of that group and nginx works with
that too, so it should be good.
Step 3: Install the certs
This is poorly documented pretty much everywhere. It will pull the
files from the .acme.sh directory in your home folder and put them
wherever you define here. The reload command will run as root, so
you don't need to specify sudo.
acme.sh --install-cert -d tomasino.org --key-file
/etc/nginx/acme.sh/tomasino.org/key.pem --cert-file
/etc/nginx/acme.sh/tomasino.org/cert.pem --fullchain-file
/etc/nginx/acme.sh/tomasino.org/fullchain.pem --reloadcmd
"service nginx force-reload"
Step 4: Set up the nginx configuration
First, a server directive on port 80 that just redirects to the
ssl version.
Second, listen on 443, add a bunch of headers, set up ssl
protocols, ciphers, link to the cert, key, and trusted cert
(fullchain). Etc, etc...
Step 5: Restart/Start nginx
Hopefully it doesn't crap out on you like it did for me 5,000
times.
You are viewing proxied material from gopher.black. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.