← back to Ga Allsites
scripts/portfolio-ga4-nginx-stage.sh
60 lines
#!/usr/bin/env bash
set -u
IP="45.61.58.125"; WEBROOT="/var/www/certbot"
TS=$(date +%s); mkdir -p /root/nginx-backups
tar czf /root/nginx-backups/portfolio-ga4-pre-$TS.tgz /etc/nginx/sites-available /etc/nginx/sites-enabled 2>/dev/null
echo "BACKUP /root/nginx-backups/portfolio-ga4-pre-$TS.tgz"
# full 80+443 vhost. $1 confname $2 servernames $3 backendport $4 certname [$5 ga4-to-inject]
vhost () {
local name="$1" names="$2" port="$3" cert="$4" ga="${5:-}"
local conf="/etc/nginx/sites-available/gap-${name}.conf"
{
echo "server {"
echo " listen 80;"
echo " server_name ${names};"
echo " location ^~ /.well-known/acme-challenge/ { root ${WEBROOT}; default_type \"text/plain\"; }"
echo " location / { return 301 https://\$host\$request_uri; }"
echo "}"
echo "server {"
echo " listen ${IP}:443 ssl http2;"
echo " server_name ${names};"
echo " ssl_certificate /etc/letsencrypt/live/${cert}/fullchain.pem;"
echo " ssl_certificate_key /etc/letsencrypt/live/${cert}/privkey.pem;"
echo " ssl_protocols TLSv1.2 TLSv1.3;"
echo " add_header X-Content-Type-Options \"nosniff\" always;"
echo " location / {"
echo " proxy_pass http://127.0.0.1:${port};"
if [ -n "$ga" ]; then
echo " proxy_set_header Accept-Encoding \"\";"
echo " sub_filter '</head>' '<script async src=\"https://www.googletagmanager.com/gtag/js?id=${ga}\"></script><script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag(\"js\",new Date());gtag(\"config\",\"${ga}\");</script></head>';"
echo " sub_filter_once on;"
echo " sub_filter_types *;"
fi
echo " proxy_http_version 1.1;"
echo " proxy_set_header Host \$host;"
echo " proxy_set_header X-Real-IP \$remote_addr;"
echo " proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;"
echo " proxy_set_header X-Forwarded-Proto \$scheme;"
echo " proxy_read_timeout 90s;"
echo " }"
echo "}"
} > "$conf"
echo "WROTE(disabled) $conf -> :$port cert=$cert ${ga:+ga=$ga}"
}
# G1 plain landers (10) -> :9794 domain-landings app (renders per-Host GA itself, no sub_filter)
for d in 67calc.com wallsondemand.com muralsondemand.com wallpaperondemand.com fabricsondemand.com dsgntv.com askgoodquestions.ai bubbeleh.ai hospitalitysalesrepresentatives.com wall-papers.org; do
vhost "$(echo $d | tr '.' '-')" "$d" 9794 gap-g1-plain ""
done
# G1 special cases
vhost designerwallcoverings-ai "designerwallcoverings.ai www.designerwallcoverings.ai" 9794 gap-designerwallcoverings-ai ""
vhost greendomainbrokers "greendomainbrokers.com www.greendomainbrokers.com" 9900 gap-greendomainbrokers "G-C8Q45N0QTF"
# G2
vhost commercialdesignreps "commercialdesignreps.com www.commercialdesignreps.com" 9923 gap-commercialdesignreps ""
vhost designerrepresentatives "designerrepresentatives.com www.designerrepresentatives.com" 9633 gap-designerrepresentatives ""
vhost designtradelive "designtradelive.com www.designtradelive.com" 9634 gap-designtradelive ""
vhost wallsandfabrics "wallsandfabrics.com www.wallsandfabrics.com" 9635 gap-wallsandfabrics ""
vhost iwascute "iwascute.com www.iwascute.com" 9636 gap-iwascute "G-2DHDBP8R78"
echo "ALL_CONFS_STAGED_DISABLED"