Files
proxmox/docs/04-configuration/BLOCKSCOUT_ROUTING_CORRECT.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.2 KiB

Blockscout Routing Configuration - Correct Setup

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


Date: 2026-01-18
Status: CONFIGURATION CORRECTED
Last Updated: 2026-01-18


Correct Configuration

Current Setup

Domain Target IP Port VMID Service Purpose
explorer.d-bis.org 192.168.11.140 80 5000 blockscout-1 Blockscout Explorer Web UI

Architecture:

Internet → NPMplus → 192.168.11.140:80 (nginx) → serves web UI
                                         └─ proxies /api/* → 127.0.0.1:4000 (Blockscout API)

Why Port 80 (Not Port 4000)?

Port 4000 is API-Only

Port 4000 (Blockscout API):

  • Serves /api/* endpoints (returns HTTP 200)
  • Does NOT serve root path / (returns HTTP 404)
  • Used internally by nginx for API proxying

Port 80 (nginx):

  • Serves full Blockscout web UI at / (returns HTTP 200)
  • Proxies /api/* requests to 127.0.0.1:4000 internally
  • Provides complete Blockscout functionality

Correct Routing

For Web UI: Route explorer.d-bis.org192.168.11.140:80

  • Users access the full Blockscout web interface
  • nginx automatically handles API proxying to port 4000

Direct API Access (if needed): http://192.168.11.140:4000/api/v2/stats

  • Only for internal/administrative use
  • Not for public domain routing

Issue Resolution

Problem Encountered (2026-01-18)

Symptom: https://explorer.d-bis.org/ returned "Page not found" (HTTP 404)

Root Cause:

  • NPMplus was routing to port 4000 (API-only endpoint)
  • Port 4000 doesn't serve the web UI (only /api/* paths)

Solution:

  • Reverted NPMplus routing to port 80 (nginx)
  • nginx serves web UI and proxies API requests internally

Verification

Test Commands

# Web UI (should return HTTP 200)
curl -I https://explorer.d-bis.org/

# API endpoint (should return HTTP 200)
curl -I https://explorer.d-bis.org/api/v2/stats

# Direct API access (internal use)
curl -I http://192.168.11.140:4000/api/v2/stats

# Direct web UI access (should return HTTP 200)
curl -I http://192.168.11.140:80/

Configuration Files

Updated Files

  1. scripts/nginx-proxy-manager/configure-npmplus-domains.js

    • explorer.d-bis.orghttp://192.168.11.140:80
  2. docs/04-configuration/ALL_VMIDS_ENDPOINTS.md

    • Updated to show port 80 with nginx routing note
  3. docs/04-configuration/NPMPLUS_CORRECT_CONFIGURATION.md

    • Updated to port 80 with architecture explanation
  4. docs/04-configuration/RPC_ENDPOINTS_MASTER.md

    • Updated to port 80 with routing explanation

Summary

Correct Configuration:

  • Public Domain: explorer.d-bis.org192.168.11.140:80 (nginx)
  • Web UI: Served by nginx on port 80
  • API: Proxied by nginx to Blockscout on port 4000

Why This Works:

  • Port 80 serves the complete Blockscout web interface
  • nginx handles API routing internally (transparent to users)
  • Users get full functionality without needing direct API access

Last Updated: 2026-01-18
Status: Configuration Verified and Documented