106106setup_py_env
107107
108108setup_nginx_conf () {
109+ local cert_name
110+ cert_name=$( cert_dir_name " $DOMAIN " )
111+
109112 local client_max_body_size_conf=" "
110113 if [ -n " $CLIENT_MAX_BODY_SIZE " ]; then
111114 client_max_body_size_conf=" client_max_body_size ${CLIENT_MAX_BODY_SIZE} ;"
@@ -148,8 +151,8 @@ server {
148151 server_name ${DOMAIN} ;
149152
150153 # SSL certificate configuration
151- ssl_certificate /etc/letsencrypt/live/${DOMAIN } /fullchain.pem;
152- ssl_certificate_key /etc/letsencrypt/live/${DOMAIN } /privkey.pem;
154+ ssl_certificate /etc/letsencrypt/live/${cert_name } /fullchain.pem;
155+ ssl_certificate_key /etc/letsencrypt/live/${cert_name } /privkey.pem;
153156
154157 # Modern SSL configuration - TLS 1.2 and 1.3 only
155158 ssl_protocols TLSv1.2 TLSv1.3;
@@ -166,7 +169,7 @@ server {
166169 # Enable OCSP stapling
167170 ssl_stapling on;
168171 ssl_stapling_verify on;
169- ssl_trusted_certificate /etc/letsencrypt/live/${DOMAIN } /fullchain.pem;
172+ ssl_trusted_certificate /etc/letsencrypt/live/${cert_name } /fullchain.pem;
170173 resolver 8.8.8.8 8.8.4.4 valid=300s;
171174 resolver_timeout 5s;
172175
@@ -231,8 +234,16 @@ set_txt_record() {
231234 fi
232235 APP_ID=${APP_ID:- " $DSTACK_APP_ID " }
233236
237+ local txt_domain
238+ if [[ " $domain " == \* .* ]]; then
239+ # Wildcard domain: *.myapp.com → _dstack-app-address-wildcard.myapp.com
240+ txt_domain=" ${TXT_PREFIX} -wildcard.${domain# \* .} "
241+ else
242+ txt_domain=" ${TXT_PREFIX} .${domain} "
243+ fi
244+
234245 dnsman.py set_txt \
235- --domain " ${TXT_PREFIX} . ${domain} " \
246+ --domain " $txt_domain " \
236247 --content " $APP_ID :$PORT "
237248
238249 if [ $? -ne 0 ]; then
@@ -257,11 +268,20 @@ set_caa_record() {
257268 return
258269 fi
259270
271+ local caa_domain caa_tag
272+ if [[ " $domain " == \* .* ]]; then
273+ caa_domain=" ${domain# \* .} "
274+ caa_tag=" issuewild"
275+ else
276+ caa_domain=" $domain "
277+ caa_tag=" issue"
278+ fi
279+
260280 ACCOUNT_URI=$( jq -j ' .uri' " $account_file " )
261- echo " Adding CAA record for $domain , accounturi=$ACCOUNT_URI "
281+ echo " Adding CAA record ( $caa_tag ) for $caa_domain , accounturi=$ACCOUNT_URI "
262282 dnsman.py set_caa \
263- --domain " $domain " \
264- --caa-tag " issue " \
283+ --domain " $caa_domain " \
284+ --caa-tag " $caa_tag " \
265285 --caa-value " letsencrypt.org;validationmethods=dns-01;accounturi=$ACCOUNT_URI "
266286
267287 if [ $? -ne 0 ]; then
0 commit comments