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

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