Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- 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>
127 lines
3.2 KiB
Markdown
127 lines
3.2 KiB
Markdown
# 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.org` → `192.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
|
|
|
|
```bash
|
|
# 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.org` → `http://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.org` → `192.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
|