2026-01-06 01:46:25 -08:00
|
|
|
#!/usr/bin/env bash
|
2026-02-12 15:46:57 -08:00
|
|
|
set -euo pipefail
|
|
|
|
|
|
2026-01-06 01:46:25 -08:00
|
|
|
# Quick reference guide for JWT authentication
|
|
|
|
|
|
|
|
|
|
cat <<'REF'
|
|
|
|
|
╔════════════════════════════════════════════════════════════════╗
|
|
|
|
|
║ JWT Authentication - Quick Reference ║
|
|
|
|
|
╚════════════════════════════════════════════════════════════════╝
|
|
|
|
|
|
|
|
|
|
📋 ENDPOINTS
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
Permissioned (JWT Required):
|
|
|
|
|
• https://rpc-http-prv.d-bis.org
|
|
|
|
|
• wss://rpc-ws-prv.d-bis.org
|
|
|
|
|
|
|
|
|
|
Public (No Auth):
|
|
|
|
|
• https://rpc-http-pub.d-bis.org
|
|
|
|
|
• wss://rpc-ws-pub.d-bis.org
|
|
|
|
|
|
|
|
|
|
🔑 GENERATE TOKEN
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
./scripts/generate-jwt-token.sh [username] [expiry_days]
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
./scripts/generate-jwt-token.sh my-app 30
|
|
|
|
|
|
|
|
|
|
🧪 TEST ENDPOINT
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
TOKEN="your-token-here"
|
|
|
|
|
curl -k \
|
|
|
|
|
-H "Authorization: Bearer $TOKEN" \
|
|
|
|
|
-H "Content-Type: application/json" \
|
|
|
|
|
-d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}' \
|
|
|
|
|
https://rpc-http-prv.d-bis.org
|
|
|
|
|
|
|
|
|
|
🔍 CHECK STATUS
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
2026-02-12 15:46:57 -08:00
|
|
|
# Load IP configuration
|
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
|
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
|
source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true
|
|
|
|
|
|
|
|
|
|
ssh root@${PROXMOX_HOST_ML110:-192.168.11.10} "pct exec 2501 -- systemctl status nginx jwt-validator"
|
2026-01-06 01:46:25 -08:00
|
|
|
|
|
|
|
|
📊 VIEW LOGS
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
# Access logs
|
2026-02-12 15:46:57 -08:00
|
|
|
ssh root@${PROXMOX_HOST_ML110:-192.168.11.10} "pct exec 2501 -- tail -f /var/log/nginx/rpc-http-prv-access.log"
|
2026-01-06 01:46:25 -08:00
|
|
|
|
|
|
|
|
# Error logs
|
2026-02-12 15:46:57 -08:00
|
|
|
ssh root@${PROXMOX_HOST_ML110:-192.168.11.10} "pct exec 2501 -- tail -f /var/log/nginx/rpc-http-prv-error.log"
|
2026-01-06 01:46:25 -08:00
|
|
|
|
|
|
|
|
# JWT validator logs
|
2026-02-12 15:46:57 -08:00
|
|
|
ssh root@${PROXMOX_HOST_ML110:-192.168.11.10} "pct exec 2501 -- journalctl -u jwt-validator -f"
|
2026-01-06 01:46:25 -08:00
|
|
|
|
|
|
|
|
🔧 TROUBLESHOOTING
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
# Restart services
|
2026-02-12 15:46:57 -08:00
|
|
|
ssh root@${PROXMOX_HOST_ML110:-192.168.11.10} "pct exec 2501 -- systemctl restart nginx jwt-validator"
|
2026-01-06 01:46:25 -08:00
|
|
|
|
|
|
|
|
# Test nginx config
|
2026-02-12 15:46:57 -08:00
|
|
|
ssh root@${PROXMOX_HOST_ML110:-192.168.11.10} "pct exec 2501 -- nginx -t"
|
2026-01-06 01:46:25 -08:00
|
|
|
|
|
|
|
|
# Check JWT secret
|
2026-02-12 15:46:57 -08:00
|
|
|
ssh root@${PROXMOX_HOST_ML110:-192.168.11.10} "pct exec 2501 -- cat /etc/nginx/jwt_secret"
|
2026-01-06 01:46:25 -08:00
|
|
|
|
|
|
|
|
📚 DOCUMENTATION
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
|
docs/04-configuration/RPC_JWT_AUTHENTICATION.md
|
|
|
|
|
docs/04-configuration/RPC_JWT_SETUP_COMPLETE.md
|
|
|
|
|
docs/04-configuration/RPC_DNS_CONFIGURATION.md
|
|
|
|
|
|
|
|
|
|
REF
|