- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
548 lines
20 KiB
Markdown
548 lines
20 KiB
Markdown
# Comprehensive Infrastructure Review
|
|
|
|
**Last Updated:** 2025-12-27
|
|
**Document Version:** 1.0
|
|
**Status:** Active Documentation
|
|
**Review Scope:** All Tunnels, DNS Entries, Nginx Configurations, VMIDs
|
|
|
|
---
|
|
|
|
## Executive Summary
|
|
|
|
This document provides a comprehensive review of:
|
|
- ✅ All Cloudflare Tunnels
|
|
- ✅ All DNS Entries
|
|
- ✅ All Nginx Configurations
|
|
- ✅ All VMIDs and Services
|
|
- ✅ Recommendations for Optimization
|
|
|
|
---
|
|
|
|
## 1. Cloudflare Tunnels Review
|
|
|
|
### Active Tunnels
|
|
|
|
| Tunnel Name | Tunnel ID | Status | Location | Purpose |
|
|
|-------------|-----------|--------|-----------|---------|
|
|
| `explorer.d-bis.org` | `b02fe1fe-cb7d-484e-909b-7cc41298ebe8` | ✅ HEALTHY | VMID 102 | Explorer/Blockscout |
|
|
| `rpc-http-pub.d-bis.org` | `10ab22da-8ea3-4e2e-a896-27ece2211a05` | ⚠️ DOWN | VMID 102 | RPC Services (needs config) |
|
|
| `mim4u-tunnel` | `f8d06879-04f8-44ef-aeda-ce84564a1792` | ✅ HEALTHY | Unknown | Miracles In Motion |
|
|
| `tunnel-ml110` | `ccd7150a-9881-4b8c-a105-9b4ead6e69a2` | ✅ HEALTHY | Unknown | Proxmox Host Access |
|
|
| `tunnel-r630-01` | `4481af8f-b24c-4cd3-bdd5-f562f4c97df4` | ✅ HEALTHY | Unknown | Proxmox Host Access |
|
|
| `tunnel-r630-02` | `0876f12b-64d7-4927-9ab3-94cb6cf48af9` | ✅ HEALTHY | Unknown | Proxmox Host Access |
|
|
|
|
### Current Tunnel Configuration (VMID 102)
|
|
|
|
**Active Tunnel**: `rpc-http-pub.d-bis.org` (Tunnel ID: `10ab22da-8ea3-4e2e-a896-27ece2211a05`)
|
|
|
|
**Current Routing** (from logs):
|
|
- `rpc-ws-pub.d-bis.org` → `https://192.168.11.252:443`
|
|
- `rpc-http-prv.d-bis.org` → `https://192.168.11.251:443`
|
|
- `rpc-ws-prv.d-bis.org` → `https://192.168.11.251:443`
|
|
- `rpc-http-pub.d-bis.org` → `https://192.168.11.252:443`
|
|
|
|
**⚠️ Issue**: Tunnel is routing directly to RPC nodes instead of central Nginx
|
|
|
|
**✅ Recommended Configuration**:
|
|
- All HTTP endpoints → `http://192.168.11.21:80` (Central Nginx)
|
|
- WebSocket endpoints → Direct to RPC nodes (as configured)
|
|
|
|
---
|
|
|
|
## 2. DNS Entries Review
|
|
|
|
### Current DNS Records (from d-bis.org zone file)
|
|
|
|
#### A Records (Direct IPs)
|
|
|
|
| Domain | IP Address(es) | Proxy Status | Notes |
|
|
|--------|----------------|--------------|-------|
|
|
| `api.d-bis.org` | 20.8.47.226 | ❌ Not Proxied | Should use tunnel |
|
|
| `besu.d-bis.org` | 20.215.32.42, 70.153.83.83 | ✅ Proxied | **DUPLICATE** - Remove one |
|
|
| `blockscout.d-bis.org` | 20.215.32.42, 70.153.83.83 | ✅ Proxied | **DUPLICATE** - Remove one |
|
|
| `d-bis.org` (root) | 20.215.32.42, 20.215.32.15 | ✅ Proxied | **DUPLICATE** - Remove one |
|
|
| `docs.d-bis.org` | 20.8.47.226 | ❌ Not Proxied | Should use tunnel |
|
|
| `explorer.d-bis.org` | 20.215.32.42, 70.153.83.83 | ✅ Proxied | **DUPLICATE** - Remove one |
|
|
| `grafana.d-bis.org` | 20.8.47.226 | ❌ Not Proxied | Should use tunnel |
|
|
| `metrics.d-bis.org` | 70.153.83.83 | ❌ Not Proxied | Should use tunnel |
|
|
| `monitoring.d-bis.org` | 70.153.83.83 | ✅ Proxied | Should use tunnel |
|
|
| `prometheus.d-bis.org` | 20.8.47.226 | ❌ Not Proxied | Should use tunnel |
|
|
| `tessera.d-bis.org` | 20.8.47.226 | ❌ Not Proxied | Should use tunnel |
|
|
| `wallet.d-bis.org` | 70.153.83.83 | ✅ Proxied | Should use tunnel |
|
|
| `ws.d-bis.org` | 20.8.47.226 | ❌ Not Proxied | Should use tunnel |
|
|
| `www.d-bis.org` | 20.8.47.226 | ✅ Proxied | Should use tunnel |
|
|
|
|
#### CNAME Records (Tunnel-based)
|
|
|
|
| Domain | Target | Proxy Status | Notes |
|
|
|--------|--------|--------------|-------|
|
|
| `rpc.d-bis.org` | `dbis138fdendpoint-cgergbcqb7aca7at.a03.azurefd.net` | ✅ Proxied | Azure Front Door |
|
|
| `ipfs.d-bis.org` | `ipfs.cloudflare.com` | ✅ Proxied | Cloudflare IPFS |
|
|
|
|
#### Missing DNS Records (Should Exist)
|
|
|
|
| Domain | Type | Target | Status |
|
|
|--------|------|--------|--------|
|
|
| `rpc-http-pub.d-bis.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `rpc-ws-pub.d-bis.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `rpc-http-prv.d-bis.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `rpc-ws-prv.d-bis.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `dbis-admin.d-bis.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `dbis-api.d-bis.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `dbis-api-2.d-bis.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `mim4u.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
| `www.mim4u.org` | CNAME | `<tunnel-id>.cfargotunnel.com` | ❌ Missing |
|
|
|
|
---
|
|
|
|
## 3. Nginx Configurations Review
|
|
|
|
### Central Nginx (VMID 105 - 192.168.11.21)
|
|
|
|
**Status**: ✅ Configured
|
|
**Configuration**: `/data/nginx/custom/http.conf`
|
|
**Type**: Nginx Proxy Manager (OpenResty)
|
|
|
|
**Configured Services**:
|
|
- ✅ `explorer.d-bis.org` → `http://192.168.11.140:80`
|
|
- ✅ `rpc-http-pub.d-bis.org` → `https://192.168.11.252:443`
|
|
- ✅ `rpc-http-prv.d-bis.org` → `https://192.168.11.251:443`
|
|
- ✅ `dbis-admin.d-bis.org` → `http://192.168.11.130:80`
|
|
- ✅ `dbis-api.d-bis.org` → `http://192.168.11.150:3000`
|
|
- ✅ `dbis-api-2.d-bis.org` → `http://192.168.11.151:3000`
|
|
- ✅ `mim4u.org` → `http://192.168.11.19:80`
|
|
- ✅ `www.mim4u.org` → `301 Redirect` → `mim4u.org`
|
|
|
|
**Note**: WebSocket endpoints (`rpc-ws-*`) are NOT in this config (routing directly)
|
|
|
|
### Blockscout Nginx (VMID 5000 - 192.168.11.140)
|
|
|
|
**Status**: ✅ Running
|
|
**Configuration**: `/etc/nginx/sites-available/blockscout`
|
|
**Purpose**: Local Nginx for Blockscout service
|
|
|
|
**Ports**:
|
|
- Port 80: HTTP (redirects to HTTPS or serves content)
|
|
- Port 443: HTTPS (proxies to Blockscout on port 4000)
|
|
|
|
### Miracles In Motion Nginx (VMID 7810 - 192.168.11.19)
|
|
|
|
**Status**: ✅ Running
|
|
**Configuration**: `/etc/nginx/sites-available/default`
|
|
**Purpose**: Web frontend and API proxy
|
|
|
|
**Ports**:
|
|
- Port 80: HTTP (serves static files, proxies API to 192.168.11.8:3001)
|
|
|
|
### DBIS Frontend Nginx (VMID 10130 - 192.168.11.130)
|
|
|
|
**Status**: ✅ Running (assumed)
|
|
**Purpose**: Frontend admin console
|
|
|
|
### RPC Nodes Nginx (VMIDs 2500, 2501, 2502)
|
|
|
|
**Status**: ⚠️ Partially Configured
|
|
**Purpose**: SSL termination and local routing
|
|
|
|
**VMID 2500** (192.168.11.250):
|
|
- Port 443: HTTPS RPC → `127.0.0.1:8545`
|
|
- Port 8443: HTTPS WebSocket → `127.0.0.1:8546`
|
|
|
|
**VMID 2501** (192.168.11.251):
|
|
- Port 443: HTTPS RPC → `127.0.0.1:8545`
|
|
- Port 443: HTTPS WebSocket → `127.0.0.1:8546` (SNI-based)
|
|
|
|
**VMID 2502** (192.168.11.252):
|
|
- Port 443: HTTPS RPC → `127.0.0.1:8545`
|
|
- Port 443: HTTPS WebSocket → `127.0.0.1:8546` (SNI-based)
|
|
|
|
---
|
|
|
|
## 4. VMIDs Review
|
|
|
|
### Infrastructure Services
|
|
|
|
| VMID | Name | IP | Status | Purpose |
|
|
|------|------|----|----|---------|
|
|
| 100 | proxmox-mail-gateway | 192.168.11.32 | ✅ Running | Mail gateway |
|
|
| 101 | proxmox-datacenter-manager | 192.168.11.33 | ✅ Running | Datacenter management |
|
|
| 102 | cloudflared | 192.168.11.34 | ✅ Running | Cloudflare tunnel client |
|
|
| 103 | omada | 192.168.11.30 | ✅ Running | Network management |
|
|
| 104 | gitea | 192.168.11.31 | ✅ Running | Git repository |
|
|
| 105 | nginxproxymanager | 192.168.11.26 | ✅ Running | Central Nginx reverse proxy |
|
|
| 130 | monitoring-1 | 192.168.11.27 | ✅ Running | Monitoring stack |
|
|
|
|
### Blockchain Services
|
|
|
|
| VMID | Name | IP | Status | Purpose | Notes |
|
|
|------|------|----|----|---------|-------|
|
|
| 5000 | blockscout-1 | 192.168.11.140 | ✅ Running | Blockchain explorer | Has local Nginx |
|
|
| 6200 | firefly-1 | 192.168.11.7 | ✅ Running | Hyperledger Firefly | Web3 gateway |
|
|
|
|
### RPC Nodes
|
|
|
|
| VMID | Name | IP | Status | Purpose | Notes |
|
|
|------|------|----|----|---------|-------|
|
|
| 2500 | besu-rpc-1 | 192.168.11.250 | ✅ Running | Core RPC | Located on ml110 (192.168.11.10) |
|
|
| 2501 | besu-rpc-2 | 192.168.11.251 | ✅ Running | Permissioned RPC | Located on ml110 (192.168.11.10) |
|
|
| 2502 | besu-rpc-3 | 192.168.11.252 | ✅ Running | Public RPC | Located on ml110 (192.168.11.10) |
|
|
|
|
**✅ Status**: RPC nodes are running on ml110 (192.168.11.10), not on pve2.
|
|
|
|
### Application Services
|
|
|
|
| VMID | Name | IP | Status | Purpose |
|
|
|------|------|----|----|---------|
|
|
| 7800 | sankofa-api-1 | 192.168.11.13 | ✅ Running | Sankofa API |
|
|
| 7801 | sankofa-portal-1 | 192.168.11.16 | ✅ Running | Sankofa Portal |
|
|
| 7802 | sankofa-keycloak-1 | 192.168.11.17 | ✅ Running | Sankofa Keycloak |
|
|
| 7810 | mim-web-1 | 192.168.11.19 | ✅ Running | Miracles In Motion Web |
|
|
| 7811 | mim-api-1 | 192.168.11.8 | ✅ Running | Miracles In Motion API |
|
|
|
|
### DBIS Core Services
|
|
|
|
| VMID | Name | IP | Status | Purpose | Notes |
|
|
|------|------|----|----|---------|-------|
|
|
| 10100 | dbis-postgres-primary | 192.168.11.100 | ✅ Running | PostgreSQL Primary | Located on ml110 (192.168.11.10) |
|
|
| 10101 | dbis-postgres-replica-1 | 192.168.11.101 | ✅ Running | PostgreSQL Replica | Located on ml110 (192.168.11.10) |
|
|
| 10120 | dbis-redis | 192.168.11.120 | ✅ Running | Redis Cache | Located on ml110 (192.168.11.10) |
|
|
| 10130 | dbis-frontend | 192.168.11.130 | ✅ Running | Frontend Admin | Located on ml110 (192.168.11.10) |
|
|
| 10150 | dbis-api-primary | 192.168.11.150 | ✅ Running | API Primary | Located on ml110 (192.168.11.10) |
|
|
| 10151 | dbis-api-secondary | 192.168.11.151 | ✅ Running | API Secondary | Located on ml110 (192.168.11.10) |
|
|
|
|
**✅ Status**: DBIS Core containers are running on ml110 (192.168.11.10), not on pve2.
|
|
|
|
---
|
|
|
|
## 5. Critical Issues Identified
|
|
|
|
### 🔴 High Priority
|
|
|
|
1. **Tunnel Configuration Mismatch**
|
|
- Tunnel `rpc-http-pub.d-bis.org` is DOWN
|
|
- Currently routing directly to RPC nodes instead of central Nginx
|
|
- **Action**: Update Cloudflare dashboard to route HTTP endpoints to `http://192.168.11.21:80`
|
|
|
|
2. **Missing DNS Records**
|
|
- RPC endpoints (`rpc-http-pub`, `rpc-ws-pub`, `rpc-http-prv`, `rpc-ws-prv`) missing CNAME records
|
|
- DBIS services (`dbis-admin`, `dbis-api`, `dbis-api-2`) missing CNAME records
|
|
- `mim4u.org` and `www.mim4u.org` missing CNAME records
|
|
- **Action**: Create CNAME records pointing to tunnel
|
|
|
|
3. **Duplicate DNS A Records**
|
|
- `besu.d-bis.org`: 2 A records (20.215.32.42, 70.153.83.83)
|
|
- `blockscout.d-bis.org`: 2 A records (20.215.32.42, 70.153.83.83)
|
|
- `explorer.d-bis.org`: 2 A records (20.215.32.42, 70.153.83.83)
|
|
- `d-bis.org`: 2 A records (20.215.32.42, 20.215.32.15)
|
|
- **Action**: Remove duplicate records, keep single authoritative IP
|
|
|
|
4. **RPC Nodes Location**
|
|
- ✅ VMIDs 2500, 2501, 2502 found on ml110 (192.168.11.10)
|
|
- **Action**: Verify network connectivity from pve2 to ml110
|
|
|
|
5. **DBIS Core Services Location**
|
|
- ✅ VMIDs 10100-10151 found on ml110 (192.168.11.10)
|
|
- **Action**: Verify network connectivity from pve2 to ml110
|
|
|
|
### 🟡 Medium Priority
|
|
|
|
6. **DNS Records Using Direct IPs Instead of Tunnels**
|
|
- Many services use A records with direct IPs
|
|
- Should use CNAME records pointing to tunnel
|
|
- **Action**: Migrate to tunnel-based DNS
|
|
|
|
7. **Inconsistent Proxy Status**
|
|
- Some records proxied, some not
|
|
- **Action**: Standardize proxy status (proxied for public services)
|
|
|
|
8. **Multiple Nginx Instances**
|
|
- Central Nginx (105), Blockscout Nginx (5000), MIM Nginx (7810), RPC Nginx (2500-2502)
|
|
- **Action**: Consider consolidating or document purpose of each
|
|
|
|
### 🟢 Low Priority
|
|
|
|
9. **Documentation Gaps**
|
|
- Some VMIDs have incomplete documentation
|
|
- **Action**: Update documentation with current status
|
|
|
|
10. **Service Discovery**
|
|
- No centralized service registry
|
|
- **Action**: Consider implementing service discovery
|
|
|
|
---
|
|
|
|
## 6. Recommendations
|
|
|
|
### Immediate Actions (Critical)
|
|
|
|
1. **Fix Tunnel Configuration**
|
|
```yaml
|
|
# Update Cloudflare dashboard for tunnel: rpc-http-pub.d-bis.org
|
|
# Route all HTTP endpoints to central Nginx:
|
|
- explorer.d-bis.org → http://192.168.11.21:80
|
|
- rpc-http-pub.d-bis.org → http://192.168.11.21:80
|
|
- rpc-http-prv.d-bis.org → http://192.168.11.21:80
|
|
- dbis-admin.d-bis.org → http://192.168.11.21:80
|
|
- dbis-api.d-bis.org → http://192.168.11.21:80
|
|
- dbis-api-2.d-bis.org → http://192.168.11.21:80
|
|
- mim4u.org → http://192.168.11.21:80
|
|
- www.mim4u.org → http://192.168.11.21:80
|
|
```
|
|
|
|
2. **Create Missing DNS Records**
|
|
- Create CNAME records for all RPC endpoints
|
|
- Create CNAME records for DBIS services
|
|
- Create CNAME records for MIM services
|
|
- All should point to: `<tunnel-id>.cfargotunnel.com`
|
|
- Enable proxy (orange cloud) for all
|
|
|
|
3. **Remove Duplicate DNS Records**
|
|
- Remove duplicate A records for `besu.d-bis.org`
|
|
- Remove duplicate A records for `blockscout.d-bis.org`
|
|
- Remove duplicate A records for `explorer.d-bis.org`
|
|
- Remove duplicate A records for `d-bis.org` (keep 20.215.32.15)
|
|
|
|
4. **Locate Missing VMIDs**
|
|
- Find RPC nodes (2500-2502) on other Proxmox hosts
|
|
- Verify DBIS Core services (10100-10151) deployment status
|
|
|
|
### Short-term Improvements
|
|
|
|
5. **DNS Migration to Tunnels**
|
|
- Migrate all A records to CNAME records pointing to tunnels
|
|
- Remove direct IP exposure
|
|
- Enable proxy for all public services
|
|
|
|
6. **Tunnel Consolidation**
|
|
- Consider consolidating multiple tunnels into single tunnel
|
|
- Use central Nginx for all HTTP routing
|
|
- Simplify tunnel management
|
|
|
|
7. **Nginx Architecture Review**
|
|
- Document purpose of each Nginx instance
|
|
- Consider if all are necessary
|
|
- Standardize configuration approach
|
|
|
|
### Long-term Optimizations
|
|
|
|
8. **Service Discovery**
|
|
- Implement centralized service registry
|
|
- Automate DNS record creation
|
|
- Dynamic service routing
|
|
|
|
9. **Monitoring and Alerting**
|
|
- Monitor all tunnel health
|
|
- Alert on tunnel failures
|
|
- Track DNS record changes
|
|
|
|
10. **Documentation**
|
|
- Maintain up-to-date infrastructure map
|
|
- Document all service dependencies
|
|
- Create runbooks for common operations
|
|
|
|
---
|
|
|
|
## 7. Architecture Recommendations
|
|
|
|
### Recommended Architecture
|
|
|
|
```
|
|
Internet
|
|
↓
|
|
Cloudflare (DNS + SSL Termination)
|
|
↓
|
|
Cloudflare Tunnel (VMID 102)
|
|
↓
|
|
Routing Decision:
|
|
├─ HTTP Services → Central Nginx (VMID 105:80) → Internal Services
|
|
└─ WebSocket Services → Direct to RPC Nodes (bypass Nginx)
|
|
```
|
|
|
|
**Key Principle**:
|
|
- HTTP traffic routes through central Nginx for unified management
|
|
- WebSocket traffic routes directly to RPC nodes for optimal performance
|
|
|
|
### Benefits
|
|
|
|
1. **Single Point of Configuration**: All HTTP routing in one place
|
|
2. **Simplified Management**: Easy to add/remove services
|
|
3. **Better Security**: No direct IP exposure
|
|
4. **Centralized Logging**: All traffic logs in one location
|
|
5. **Easier Troubleshooting**: Single point to check routing
|
|
|
|
---
|
|
|
|
## 8. Action Items Checklist
|
|
|
|
### Critical (Do First)
|
|
|
|
- [ ] Update Cloudflare tunnel configuration to route HTTP endpoints to central Nginx
|
|
- [ ] Create missing DNS CNAME records for all services
|
|
- [ ] Remove duplicate DNS A records
|
|
- [x] Locate and verify RPC nodes (2500-2502) - ✅ Found on ml110
|
|
- [x] Verify DBIS Core services deployment status - ✅ Found on ml110
|
|
- [ ] Verify network connectivity from pve2 (192.168.11.12) to ml110 (192.168.11.10)
|
|
|
|
### Important (Do Next)
|
|
|
|
- [ ] Migrate remaining A records to CNAME (tunnel-based)
|
|
- [ ] Standardize proxy status across all DNS records
|
|
- [ ] Document all Nginx instances and their purposes
|
|
- [ ] Test all endpoints after configuration changes
|
|
|
|
### Nice to Have
|
|
|
|
- [ ] Implement service discovery
|
|
- [ ] Set up monitoring and alerting
|
|
- [ ] Create comprehensive infrastructure documentation
|
|
- [ ] Automate DNS record management
|
|
|
|
---
|
|
|
|
## 9. DNS Records Migration Plan
|
|
|
|
### Current State (A Records - Direct IPs)
|
|
|
|
Many services use A records pointing to direct IPs. These should be migrated to CNAME records pointing to Cloudflare tunnels.
|
|
|
|
### Migration Priority
|
|
|
|
**High Priority** (Public-facing services):
|
|
1. `explorer.d-bis.org` → CNAME to tunnel
|
|
2. `rpc-http-pub.d-bis.org` → CNAME to tunnel
|
|
3. `rpc-ws-pub.d-bis.org` → CNAME to tunnel
|
|
4. `rpc-http-prv.d-bis.org` → CNAME to tunnel
|
|
5. `rpc-ws-prv.d-bis.org` → CNAME to tunnel
|
|
|
|
**Medium Priority** (Internal services):
|
|
6. `dbis-admin.d-bis.org` → CNAME to tunnel
|
|
7. `dbis-api.d-bis.org` → CNAME to tunnel
|
|
8. `dbis-api-2.d-bis.org` → CNAME to tunnel
|
|
9. `mim4u.org` → CNAME to tunnel
|
|
10. `www.mim4u.org` → CNAME to tunnel
|
|
|
|
**Low Priority** (Monitoring/internal):
|
|
11. `grafana.d-bis.org` → CNAME to tunnel (if public access needed)
|
|
12. `prometheus.d-bis.org` → CNAME to tunnel (if public access needed)
|
|
13. `monitoring.d-bis.org` → CNAME to tunnel
|
|
|
|
### Migration Steps
|
|
|
|
For each domain:
|
|
1. Create CNAME record: `<subdomain>` → `<tunnel-id>.cfargotunnel.com`
|
|
2. Enable proxy (orange cloud)
|
|
3. Wait for DNS propagation (1-5 minutes)
|
|
4. Test endpoint accessibility
|
|
5. Remove old A record (if exists)
|
|
|
|
---
|
|
|
|
## 10. Testing Plan
|
|
|
|
After implementing recommendations:
|
|
|
|
1. **Test HTTP Endpoints**:
|
|
```bash
|
|
curl https://explorer.d-bis.org/api/v2/stats
|
|
curl -X POST https://rpc-http-pub.d-bis.org \
|
|
-H "Content-Type: application/json" \
|
|
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'
|
|
curl https://dbis-admin.d-bis.org
|
|
curl https://mim4u.org
|
|
```
|
|
|
|
2. **Test WebSocket Endpoints**:
|
|
```bash
|
|
wscat -c wss://rpc-ws-pub.d-bis.org
|
|
wscat -c wss://rpc-ws-prv.d-bis.org
|
|
```
|
|
|
|
3. **Test Redirects**:
|
|
```bash
|
|
curl -I https://www.mim4u.org # Should redirect to mim4u.org
|
|
```
|
|
|
|
4. **Verify Tunnel Health**:
|
|
- Check Cloudflare dashboard for tunnel status
|
|
- Verify all tunnels show HEALTHY
|
|
- Check tunnel logs for errors
|
|
|
|
---
|
|
|
|
---
|
|
|
|
## 11. Summary of Recommendations
|
|
|
|
### 🔴 Critical (Fix Immediately)
|
|
|
|
1. **Update Cloudflare Tunnel Configuration**
|
|
- Tunnel: `rpc-http-pub.d-bis.org` (Tunnel ID: `10ab22da-8ea3-4e2e-a896-27ece2211a05`)
|
|
- Action: Route all HTTP endpoints to `http://192.168.11.21:80` (central Nginx)
|
|
- Keep WebSocket endpoints routing directly to RPC nodes
|
|
|
|
2. **Create Missing DNS CNAME Records**
|
|
- `rpc-http-pub.d-bis.org` → CNAME to tunnel
|
|
- `rpc-ws-pub.d-bis.org` → CNAME to tunnel
|
|
- `rpc-http-prv.d-bis.org` → CNAME to tunnel
|
|
- `rpc-ws-prv.d-bis.org` → CNAME to tunnel
|
|
- `dbis-admin.d-bis.org` → CNAME to tunnel
|
|
- `dbis-api.d-bis.org` → CNAME to tunnel
|
|
- `dbis-api-2.d-bis.org` → CNAME to tunnel
|
|
- `mim4u.org` → CNAME to tunnel
|
|
- `www.mim4u.org` → CNAME to tunnel
|
|
|
|
3. **Remove Duplicate DNS A Records**
|
|
- `besu.d-bis.org`: Remove one IP (keep single authoritative)
|
|
- `blockscout.d-bis.org`: Remove one IP
|
|
- `explorer.d-bis.org`: Remove one IP
|
|
- `d-bis.org`: Remove 20.215.32.42 (keep 20.215.32.15)
|
|
|
|
### 🟡 Important (Fix Soon)
|
|
|
|
4. **Migrate A Records to CNAME (Tunnel-based)**
|
|
- Convert remaining A records to CNAME records
|
|
- Point all to Cloudflare tunnel endpoints
|
|
- Enable proxy (orange cloud) for all public services
|
|
|
|
5. **Verify Network Connectivity**
|
|
- Test connectivity from pve2 (192.168.11.12) to ml110 (192.168.11.10)
|
|
- Ensure RPC nodes (2500-2502) are accessible from central Nginx
|
|
- Ensure DBIS services (10100-10151) are accessible from central Nginx
|
|
|
|
### 🟢 Optimization (Nice to Have)
|
|
|
|
6. **Documentation Updates**
|
|
- Update all service documentation with current IPs and locations
|
|
- Document network topology (pve2 vs ml110)
|
|
- Create service dependency map
|
|
|
|
7. **Monitoring Setup**
|
|
- Monitor all tunnel health
|
|
- Alert on tunnel failures
|
|
- Track DNS record changes
|
|
|
|
---
|
|
|
|
## Related Documentation
|
|
|
|
### Architecture Documents
|
|
- **[NETWORK_ARCHITECTURE.md](NETWORK_ARCHITECTURE.md)** ⭐⭐⭐ - Complete network architecture
|
|
- **[PHYSICAL_HARDWARE_INVENTORY.md](PHYSICAL_HARDWARE_INVENTORY.md)** ⭐⭐⭐ - Physical hardware inventory
|
|
- **[ORCHESTRATION_DEPLOYMENT_GUIDE.md](ORCHESTRATION_DEPLOYMENT_GUIDE.md)** ⭐⭐⭐ - Deployment orchestration
|
|
- **[DOMAIN_STRUCTURE.md](DOMAIN_STRUCTURE.md)** ⭐⭐ - Domain structure
|
|
|
|
### Network Documents
|
|
- **[../05-network/CLOUDFLARE_TUNNEL_ROUTING_ARCHITECTURE.md](../05-network/CLOUDFLARE_TUNNEL_ROUTING_ARCHITECTURE.md)** - Cloudflare tunnel routing
|
|
- **[../05-network/CENTRAL_NGINX_ROUTING_SETUP.md](../05-network/CENTRAL_NGINX_ROUTING_SETUP.md)** - Central Nginx routing
|
|
|
|
### Configuration Documents
|
|
- **[../04-configuration/cloudflare/CLOUDFLARE_DNS_TO_CONTAINERS.md](../04-configuration/cloudflare/CLOUDFLARE_DNS_TO_CONTAINERS.md)** - DNS mapping to containers
|
|
- **[../04-configuration/RPC_DNS_CONFIGURATION.md](../04-configuration/RPC_DNS_CONFIGURATION.md)** - RPC DNS configuration
|
|
|
|
---
|
|
|
|
**Last Updated:** 2025-12-27
|
|
**Document Version:** 1.0
|
|
**Review Cycle:** Quarterly
|
|
|