Skip to content

Commit bc3e672

Browse files
authored
Merge pull request #1074 from nginx-proxy/default-certificate
fix: dot not remove symlinked default certificate / private key
2 parents 796e631 + 945c7f3 commit bc3e672

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

app/letsencrypt_service

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,13 @@ function cleanup_links {
5656
local -a SYMLINKED_DOMAINS
5757
local -a DISABLED_DOMAINS
5858

59-
# Create an array containing domains for which a
60-
# symlinked private key exists in /etc/nginx/certs.
59+
# Create an array containing domains for which a symlinked certificate
60+
# exists in /etc/nginx/certs (excluding default cert).
6161
for symlinked_domain in /etc/nginx/certs/*.crt; do
6262
[[ -L "$symlinked_domain" ]] || continue
6363
symlinked_domain="${symlinked_domain##*/}"
6464
symlinked_domain="${symlinked_domain%*.crt}"
65+
[[ "$symlinked_domain" != "default" ]] || continue
6566
SYMLINKED_DOMAINS+=("$symlinked_domain")
6667
done
6768
[[ "$DEBUG" == 1 ]] && echo "Symlinked domains: ${SYMLINKED_DOMAINS[*]}"

test/tests/symlinks/run.sh

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ docker exec "$le_container_name" cp /etc/nginx/certs/le1.wtf/key.pem /etc/nginx/
4747
docker exec "$le_container_name" bash -c 'cd /etc/nginx/certs; ln -s ./le4.wtf/fullchain.pem ./le4.wtf.crt'
4848
docker exec "$le_container_name" bash -c 'cd /etc/nginx/certs; ln -s ./le4.wtf/key.pem ./le4.wtf.key'
4949

50+
# symlink default certificate to le1.wtf certificate
51+
docker exec "$le_container_name" rm -f /etc/nginx/certs/default.crt /etc/nginx/certs/default.key
52+
docker exec "$le_container_name" bash -c 'cd /etc/nginx/certs; ln -s ./le1.wtf/fullchain.pem ./default.crt'
53+
docker exec "$le_container_name" bash -c 'cd /etc/nginx/certs; ln -s ./le1.wtf/key.pem ./default.key'
54+
5055
# Stop the nginx containers for ${domains[0]} and ${domains[1]} silently,
5156
# then check if the corresponding symlinks are removed.
5257
docker stop "symlink-le1-le2" > /dev/null
@@ -108,3 +113,7 @@ docker stop "symlink-lim-le2" > /dev/null
108113
# Check if the custom certificate is still there
109114
docker exec "$le_container_name" [ -f /etc/nginx/certs/le4.wtf.crt ] \
110115
|| echo "Custom certificate for le4.wtf was removed."
116+
117+
# Check if the default certificate is still there
118+
docker exec "$le_container_name" [ -f /etc/nginx/certs/default.crt ] \
119+
|| echo "Default certificate was removed."

0 commit comments

Comments
 (0)