Connection Problems
This guide covers diagnosing and resolving connection issues between License Monitor, License Server Detail, and license servers.
Connection Overview
Section titled “Connection Overview”┌─────────────┐ ┌─────────────────┐ ┌────────────────┐│ Browser │────▶│ License Server │────▶│ License ││ │ │ Detail │ │ Monitor │└─────────────┘ └─────────────────┘ └───────┬────────┘ │ ▼ ┌────────────────┐ │ License Server │ │ (FlexLM, etc.) │ └────────────────┘Browser to Dashboard
Section titled “Browser to Dashboard”Symptoms
Section titled “Symptoms”- Cannot load dashboard
- “Connection refused” errors
- Timeout errors
- SSL certificate errors
Diagnosis
Section titled “Diagnosis”-
Check if server is running
Terminal window curl -v http://localhost:3000/api/health -
Check DNS resolution
Terminal window nslookup dashboard.example.com -
Check SSL certificate
Terminal window openssl s_client -connect dashboard.example.com:443 -servername dashboard.example.com -
Check browser network tab
- Press F12 → Network tab
- Look for failed requests
Solutions
Section titled “Solutions”| Issue | Solution |
|---|---|
| Server not running | Start the service |
| DNS not resolving | Check DNS configuration |
| SSL error | Check/renew certificate |
| Firewall blocking | Open port 443 |
Dashboard to License Monitor
Section titled “Dashboard to License Monitor”Symptoms
Section titled “Symptoms”- “Cannot connect to License Monitor”
- Stale data on dashboard
- API errors in browser console
Diagnosis
Section titled “Diagnosis”-
Test from dashboard server
Terminal window curl -H "X-API-Key: KEY" http://license-monitor:8080/api/health -
Check network connectivity
Terminal window ping license-monitornc -zv license-monitor 8080 -
Check firewall
Terminal window # On License Monitor serveriptables -L -n | grep 8080 -
Check CORS configuration
Terminal window curl -v -H "Origin: https://dashboard.example.com" \http://license-monitor:8080/api/health# Look for Access-Control-Allow-Origin header
Solutions
Section titled “Solutions”# License Monitor config.toml[api]enabled = truebind_address = "0.0.0.0" # Listen on all interfacesallow_public_bind = true # Required when not 127.0.0.1
# CORS for dashboardcors_enabled = truecors_origins = ["https://dashboard.example.com"]License Monitor to License Server
Section titled “License Monitor to License Server”Symptoms
Section titled “Symptoms”- Empty license data
- “Connection refused” errors
- Timeouts on license queries
Diagnosis
Section titled “Diagnosis”-
Test license command manually
Terminal window # FlexLMlmstat -a -c 27000@license-server# RLMrlmstat -a -c 5053@license-server# sesinetdsesictrl -s license-server -p 1715 -
Check network connectivity
Terminal window ping license-servernc -zv license-server 27000telnet license-server 27000 -
Check DNS
Terminal window nslookup license-server -
Check firewall
Terminal window # From License Monitor serveriptables -L OUTPUT -n | grep 27000
Common License Server Ports
Section titled “Common License Server Ports”| Server Type | Default Port(s) |
|---|---|
| FlexLM | 27000-27009 |
| RLM | 5053 |
| sesinetd | 1715 |
| LM-X | 6200 |
Solutions
Section titled “Solutions”# Open outbound firewalliptables -A OUTPUT -p tcp --dport 27000:27009 -d license-server -j ACCEPTiptables -A OUTPUT -p tcp --dport 5053 -d license-server -j ACCEPTiptables -A OUTPUT -p tcp --dport 1715 -d license-server -j ACCEPTWebSocket Connection Issues
Section titled “WebSocket Connection Issues”Symptoms
Section titled “Symptoms”- Real-time updates not working
- Frequent disconnections
- “WebSocket connection failed”
Diagnosis
Section titled “Diagnosis”// Browser console testconst ws = new WebSocket('wss://api.example.com/ws/logs?api_key=KEY');ws.onopen = () => console.log('Connected');ws.onerror = (e) => console.log('Error:', e);ws.onclose = (e) => console.log('Closed:', e.code, e.reason);Common WebSocket Issues
Section titled “Common WebSocket Issues”| Issue | Cause | Solution |
|---|---|---|
| Connection refused | Service not running | Start service |
| 403 Forbidden | Invalid API key | Check API key |
| Connection timeout | Proxy timeout | Increase proxy timeout |
| Random disconnects | Idle timeout | Implement ping/pong |
Proxy Configuration
Section titled “Proxy Configuration”location /ws/ { proxy_pass http://license_monitor; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_read_timeout 86400; # 24 hours proxy_send_timeout 86400;}<Location /ws/> ProxyPass ws://localhost:8080/ws/ ProxyPassReverse ws://localhost:8080/ws/</Location>SSL/TLS Issues
Section titled “SSL/TLS Issues”Certificate Errors
Section titled “Certificate Errors”# Check certificateopenssl s_client -connect api.example.com:443 -servername api.example.com
# Check expiryecho | openssl s_client -connect api.example.com:443 2>/dev/null | \ openssl x509 -noout -dates
# Verify chainopenssl s_client -connect api.example.com:443 -showcertsCommon SSL Issues
Section titled “Common SSL Issues”| Error | Cause | Solution |
|---|---|---|
CERT_NOT_TRUSTED | Self-signed or unknown CA | Add to trust store |
CERT_EXPIRED | Certificate expired | Renew certificate |
HOSTNAME_MISMATCH | Wrong domain in cert | Use correct domain |
WRONG_VERSION_NUMBER | HTTP on HTTPS port | Check port configuration |
DNS Issues
Section titled “DNS Issues”Diagnosis
Section titled “Diagnosis”# Check resolutionnslookup license-serverdig license-serverhost license-server
# Check /etc/hostscat /etc/hosts | grep license
# Check DNS servercat /etc/resolv.confSolutions
Section titled “Solutions”# Add to hosts file if DNS not workingecho "192.168.1.100 license-server" >> /etc/hosts
# Flush DNS cache# systemd-resolvedsystemd-resolve --flush-caches
# nscdnscd -i hostsConnection Timeout Tuning
Section titled “Connection Timeout Tuning”License Monitor
Section titled “License Monitor”[command_mode]timeout_seconds = 120 # Command execution timeout
[api]read_timeout_seconds = 60 # Request read timeoutwrite_timeout_seconds = 60 # Response write timeoutLicense Server Detail
Section titled “License Server Detail”# Environment variablesNEXT_PUBLIC_API_TIMEOUT_MS=30000 # 30 secondsLICENSE_MONITOR_TIMEOUT=60000 # 60 secondsNetwork Debugging Tools
Section titled “Network Debugging Tools”tcpdump
Section titled “tcpdump”# Capture traffic to license servertcpdump -i any host license-server -w capture.pcap
# Capture port 8080 traffictcpdump -i any port 8080 -w api.pcapnetstat/ss
Section titled “netstat/ss”# Show all connectionsss -tunapl | grep license_monitor
# Show connection statesss -s
# Show listening portsss -tlnptraceroute
Section titled “traceroute”# Trace path to license servertraceroute license-server
# TCP traceroute on specific porttraceroute -T -p 27000 license-serverNext Steps
Section titled “Next Steps”- Common Issues - Other frequent problems
- Network Security - Firewall configuration
- Debugging Guide - Deep debugging