Co-authored-by: Mageas <gpg@mageas.net> Reviewed-on: #1 |
||
---|---|---|
certbot | ||
nginx/conf.d | ||
LICENSE | ||
README.md | ||
docker-compose.yml |
README.md
Certginx
Certginx is a helper tool to generate certbot certificates. It is compatible with multiple domains and support multiple applications.
This project is neither affiliated with cerbot nor nginx.
How to use certginx
Configuring firewall
Make sure your firewall allows the incoming 80 and 443 ports.
Open ports with iptables:
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
Configuring nginx
./nginx/conf.d/subdomain.domain.com.conf |
---|
Replace all the occurrences of subdomain.domain.com with your domain name. Rename Rename |
Configuring certbot
Every time you want to add a new domain. You need to configure the file below.
./certbot/add_domain.sh |
---|
Update DOMAINS and EMAIL variables to begin the installation. If you are testing, put STAGING to 1 to avoid hitting request limits. |
Executing the script
Run the script with ./certbot/add_domain.sh
.
Configuring after script
Update ./nginx/conf.d/<your-domain>.conf
to suit your needs.
./nginx/conf.d/.conf |
---|
Update localhost in |
Communicating between certginx and your app
I will use example-app
as network, you may rename it.
./docker-compose.yml |
---|
At the end of
At the end of the file, add:
External networks are not automatically created by docker-compose. To do so, just run the command below:
|
You need to do the same thing in your docker-compose.yml
app, but instead of nginx
service, it will be your communicating service.
Best practice to deploy
The best way to deploy your app with certginx is to create a user per application (eg. user certginx for certgins and user website for your website).
Secure your nginx
Use the latest ssl protocols.
./nginx/conf.d/00_tls-cipher.conf |
---|
|
Catch bad sni (replace dummy-certificate
with a dummy certificate).
./nginx/conf.d/01_catch-bad-sni.conf |
---|
|
Catch bad vhost.
./nginx/conf.d/01_catch-bad-vhost.conf |
---|
|
Credits
- nginx-certbot the base of the
add_domain
script.