chore: sync all changes to Gitea
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- Config, docs, scripts, and backup manifests - Submodule refs unchanged (m = modified content in submodules) Made-with: Cursor
This commit is contained in:
54
scripts/patch-nginx-explorer-config.sh
Normal file
54
scripts/patch-nginx-explorer-config.sh
Normal file
@@ -0,0 +1,54 @@
|
||||
#!/usr/bin/env bash
|
||||
# Patch nginx blockscout config to add /api/config/* and /api/v1/ locations.
|
||||
# Inserts before "location /api/" in the HTTPS server block.
|
||||
# Run inside VMID 5000.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
CONFIG="/etc/nginx/sites-available/blockscout"
|
||||
BACKUP="${CONFIG}.before-patch-$(date +%Y%m%d-%H%M%S)"
|
||||
cp "$CONFIG" "$BACKUP"
|
||||
|
||||
if grep -q "location = /api/config/token-list" "$CONFIG" 2>/dev/null; then
|
||||
echo "Patch already applied."
|
||||
nginx -t && echo "Config OK"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Insert before BOTH "location /api/" occurrences (HTTP and HTTPS blocks)
|
||||
# Process in reverse order so line numbers don't shift
|
||||
for LINE in $(grep -n "location /api/" "$CONFIG" | cut -d: -f1 | tac); do
|
||||
[[ -z "$LINE" ]] && { echo "Could not find location /api/"; exit 1; }
|
||||
head -n $((LINE - 1)) "$CONFIG" > "${CONFIG}.new"
|
||||
cat >> "${CONFIG}.new" << 'PATCHEOF'
|
||||
# Explorer config API (token list, networks) - serve from /var/www/html/config/
|
||||
location = /api/config/token-list {
|
||||
default_type application/json;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
add_header Cache-Control "public, max-age=3600";
|
||||
alias /var/www/html/config/DUAL_CHAIN_TOKEN_LIST.tokenlist.json;
|
||||
}
|
||||
location = /api/config/networks {
|
||||
default_type application/json;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
add_header Cache-Control "public, max-age=3600";
|
||||
alias /var/www/html/config/DUAL_CHAIN_NETWORKS.json;
|
||||
}
|
||||
# Token-aggregation API at /api/v1/
|
||||
location /api/v1/ {
|
||||
proxy_pass http://127.0.0.1:3001/api/v1/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_read_timeout 60s;
|
||||
add_header Access-Control-Allow-Origin *;
|
||||
}
|
||||
|
||||
PATCHEOF
|
||||
tail -n +"$LINE" "$CONFIG" >> "${CONFIG}.new"
|
||||
mv "${CONFIG}.new" "$CONFIG"
|
||||
done
|
||||
|
||||
nginx -t && echo "Config OK"
|
||||
Reference in New Issue
Block a user