Commit df0f8729 authored by Vitaly Lipatov's avatar Vitaly Lipatov

nginx-le.sh: improve parse nginx conf

parent 6835657d
...@@ -2,6 +2,12 @@ ...@@ -2,6 +2,12 @@
# run with domain or path to conf file (preferable) # run with domain or path to conf file (preferable)
fatal()
{
echo "FATAL: $*" >&2
exit 1
}
INTHOST=host03.eterhost.ru INTHOST=host03.eterhost.ru
NCONF=$1 NCONF=$1
shift shift
...@@ -11,19 +17,21 @@ shift ...@@ -11,19 +17,21 @@ shift
if [ -r "$NCONF" ] ; then if [ -r "$NCONF" ] ; then
DOMAIN="" DOMAIN=""
DOMAINARG=""
for i in $(grep server_name $NCONF | sed -e "s|;||") ; do
echo "$i" | grep -q "server_name" && continue
echo "$i" | grep -q "$INTHOST" && continue
[ -n "$DOMAIN" ] || DOMAIN="$i"
DOMAINARG="$DOMAINARG -d $i"
done
else else
DOMAIN="$NCONF" DOMAIN="$NCONF"
DOMAINARG="-d $DOMAIN"
NCONF=/etc/nginx/sites-enabled.d/$DOMAIN.conf NCONF=/etc/nginx/sites-enabled.d/$DOMAIN.conf
fi fi
[ -r "$NCONF" ] || fatal "Can't find $NCONF"
DOMAINARG=""
for i in $(grep server_name $NCONF | sed -e "s|;||") ; do
echo "$i" | grep -q "server_name" && continue
echo "$i" | grep -q "$INTHOST" && continue
[ -n "$DOMAIN" ] || DOMAIN="$i"
DOMAINARG="$DOMAINARG -d $i"
done
# depends on a system # depends on a system
DIR=/var/spool/nginx/tmp/client DIR=/var/spool/nginx/tmp/client
[ -d "$DIR" ] || DIR=/var/lib/nginx/tmp/client [ -d "$DIR" ] || DIR=/var/lib/nginx/tmp/client
...@@ -38,7 +46,7 @@ CERTBOT=$(which certbot 2>/dev/null) ...@@ -38,7 +46,7 @@ CERTBOT=$(which certbot 2>/dev/null)
[ -x "$CERTBOT" ] || CERTBOT=$(which certbot-auto 2>/dev/null) [ -x "$CERTBOT" ] || CERTBOT=$(which certbot-auto 2>/dev/null)
[ -x "$CERTBOT" ] || exit [ -x "$CERTBOT" ] || exit
$CERTBOT certonly --webroot -w$DIR $DOMAINARG $@ || exit $CERTBOT certonly --webroot -w$DIR $DOMAINARG $@ || fatal
KEY=/etc/letsencrypt/live/$DOMAIN/privkey.pem KEY=/etc/letsencrypt/live/$DOMAIN/privkey.pem
PEM=/etc/letsencrypt/live/$DOMAIN/fullchain.pem PEM=/etc/letsencrypt/live/$DOMAIN/fullchain.pem
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment