Files
userbase/deploy/fix_wildcard.sh
T

34 lines
1.4 KiB
Bash

set -u
CP=/opt/docker/infra/Caddyfile
echo "===== before: line 70 ====="
sed -n '70p' "$CP"
echo "===== apply wildcard matcher (inode will change; restart re-binds) ====="
sed -i 's#handle_path /userbase/ {#handle_path /userbase* {#' "$CP"
echo "after:"; sed -n '70p' "$CP"
echo
echo "===== restart caddy to re-bind edited file ====="
docker restart caddy
echo "restart exit: $?"
sleep 6
echo "===== container sees fix? ====="
docker exec caddy grep -n "handle_path /userbase" /etc/caddy/Caddyfile
echo
echo "===== extract a real JS asset from SPA and test it ====="
html=$(curl -s -H "Host: www.yunhaixingtong.com" http://127.0.0.1/userbase/)
echo "$html" | grep -oE 'src="[^"]+\.js"' | head -3
asset=$(echo "$html" | grep -oE '/[A-Za-z0-9_./-]+\.js' | head -1)
echo "first asset path: $asset"
if [ -n "$asset" ]; then
code=$(curl -s -o /dev/null -w "%{http_code}" -H "Host: www.yunhaixingtong.com" "http://127.0.0.1/userbase${asset}")
echo "/userbase${asset} -> $code"
fi
echo
echo "===== route tests ====="
for p in /userbase/ /userbase/index.html "/userbase${asset:-/static/js/}"; do
code=$(curl -s -o /tmp/b -w "%{http_code}" -H "Host: www.yunhaixingtong.com" "http://127.0.0.1$p")
echo "$p -> $code | $(head -c 70 /tmp/b|tr -d '\n')"
done
echo
echo "===== backend test ====="
curl -s -o /dev/null -w "/userbase/api/x -> %{http_code}\n" -H "Host: www.yunhaixingtong.com" http://127.0.0.1/userbase/api/x