Files
proxmox/docs/04-configuration/EXPLORER_MOBILE_FIX_CLOUDFLARE_NPM.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

3.3 KiB
Raw Blame History

Explorer Mobile Fix — Cloudflare DNS + NPMplus

Last Updated: 2026-01-31
Document Version: 1.0
Status: Active Documentation


Date: 2026-01-30
Issue: https://explorer.d-bis.org/ returning "URL not found" on mobile browsers (Apple and Samsung) on mobile networks
Status: Fixed


What Was Done

1. Cloudflare DNS

  • explorer.d-bis.org (and all d-bis.org, sankofa.nexus, mim4u.org, defi-oracle.io records) updated to:
    • Type: A
    • Content: 76.53.10.36
    • Proxy: DNS only (gray cloud) — no Cloudflare proxy

This ensures all clients (including mobile carriers) resolve to the same IP and traffic goes directly to your edge (UDM Pro → NPMplus).

Script run: scripts/update-all-dns-to-public-ip.sh (via scripts/fix-explorer-mobile-cloudflare-npm.sh)

2. NPMplus (Nginx Proxy Manager)

  • explorer.d-bis.org proxy host confirmed/updated to:
    • Forward: http://192.168.11.140:80
    • WebSocket: false
    • Backend: VMID 5000 (Blockscout + custom nginx)

Script run: scripts/nginx-proxy-manager/update-npmplus-proxy-hosts-api.sh

3. VMID 5000 Nginx (explorer server)

  • Server-level headers added for mobile and caching:
    • Vary: User-Agent, Accept-Encoding
    • X-Content-Type-Options: nosniff
    • X-Frame-Options: SAMEORIGIN
  • Location / and /wallet:
    • Cache-Control: no-cache, no-store, must-revalidate
    • Pragma: no-cache

This reduces the chance of mobile carriers or browsers serving a cached 404.


Architecture (Reminder)

Mobile / Desktop
    → DNS: explorer.d-bis.org → 76.53.10.36 (Cloudflare DNS only)
    → UDM Pro: 76.53.10.36:80/443 → 192.168.11.167:80/443
    → NPMplus (VMID 10233): Host explorer.d-bis.org → http://192.168.11.140:80
    → VMID 5000 nginx (192.168.11.140:80) → / → index.html, /api/* → Blockscout/APIs

If Mobile Still Fails

  1. Wait 515 minutes after DNS change for carrier DNS cache.
  2. Try WiFi — if it works on WiFi but not cellular, the carrier DNS/cache is likely the cause.
  3. Use Private DNS on mobile:
    • Android: Settings → Network → Private DNS → dns.google or one.one.one.one
    • iOS: Settings → WiFi → (i) for network → Configure DNS → Manual → add 8.8.8.8 or 1.1.1.1
  4. Test API directly on mobile:
    Open: https://explorer.d-bis.org/api/v2/stats
    • If this loads but the main page does not, the issue is likely the main page (JS/redirect).
    • If this also fails, its likely DNS or network (carrier/firewall).
  5. Clear browser cache or use a private/incognito window.

Re-run Fix (Cloudflare + NPMplus)

From project root (with .env containing Cloudflare and NPM credentials):

./scripts/fix-explorer-mobile-cloudflare-npm.sh

Or run steps manually:

# Cloudflare DNS (all zones to 76.53.10.36, DNS only)
./scripts/update-all-dns-to-public-ip.sh

# NPMplus proxy hosts (explorer → 192.168.11.140:80)
./scripts/nginx-proxy-manager/update-npmplus-proxy-hosts-api.sh

Verify

# DNS
dig +short explorer.d-bis.org
# Expect: 76.53.10.36

# HTTP
curl -sI https://explorer.d-bis.org/ | head -15
# Expect: 200 OK, and Vary / Cache-Control / X-Content-Type-Options

Last updated: 2026-01-30