Skip to content

Connection Problems

This guide covers diagnosing and resolving connection issues between License Monitor, License Server Detail, and license servers.

┌─────────────┐ ┌─────────────────┐ ┌────────────────┐
│ Browser │────▶│ License Server │────▶│ License │
│ │ │ Detail │ │ Monitor │
└─────────────┘ └─────────────────┘ └───────┬────────┘
┌────────────────┐
│ License Server │
│ (FlexLM, etc.) │
└────────────────┘
  • Cannot load dashboard
  • “Connection refused” errors
  • Timeout errors
  • SSL certificate errors
  1. Check if server is running

    Terminal window
    curl -v http://localhost:3000/api/health
  2. Check DNS resolution

    Terminal window
    nslookup dashboard.example.com
  3. Check SSL certificate

    Terminal window
    openssl s_client -connect dashboard.example.com:443 -servername dashboard.example.com
  4. Check browser network tab

    • Press F12 → Network tab
    • Look for failed requests
IssueSolution
Server not runningStart the service
DNS not resolvingCheck DNS configuration
SSL errorCheck/renew certificate
Firewall blockingOpen port 443
  • “Cannot connect to License Monitor”
  • Stale data on dashboard
  • API errors in browser console
  1. Test from dashboard server

    Terminal window
    curl -H "X-API-Key: KEY" http://license-monitor:8080/api/health
  2. Check network connectivity

    Terminal window
    ping license-monitor
    nc -zv license-monitor 8080
  3. Check firewall

    Terminal window
    # On License Monitor server
    iptables -L -n | grep 8080
  4. 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
# License Monitor config.toml
[api]
enabled = true
bind_address = "0.0.0.0" # Listen on all interfaces
allow_public_bind = true # Required when not 127.0.0.1
# CORS for dashboard
cors_enabled = true
cors_origins = ["https://dashboard.example.com"]
  • Empty license data
  • “Connection refused” errors
  • Timeouts on license queries
  1. Test license command manually

    Terminal window
    # FlexLM
    lmstat -a -c 27000@license-server
    # RLM
    rlmstat -a -c 5053@license-server
    # sesinetd
    sesictrl -s license-server -p 1715
  2. Check network connectivity

    Terminal window
    ping license-server
    nc -zv license-server 27000
    telnet license-server 27000
  3. Check DNS

    Terminal window
    nslookup license-server
  4. Check firewall

    Terminal window
    # From License Monitor server
    iptables -L OUTPUT -n | grep 27000
Server TypeDefault Port(s)
FlexLM27000-27009
RLM5053
sesinetd1715
LM-X6200
Terminal window
# Open outbound firewall
iptables -A OUTPUT -p tcp --dport 27000:27009 -d license-server -j ACCEPT
iptables -A OUTPUT -p tcp --dport 5053 -d license-server -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1715 -d license-server -j ACCEPT
  • Real-time updates not working
  • Frequent disconnections
  • “WebSocket connection failed”
// Browser console test
const 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);
IssueCauseSolution
Connection refusedService not runningStart service
403 ForbiddenInvalid API keyCheck API key
Connection timeoutProxy timeoutIncrease proxy timeout
Random disconnectsIdle timeoutImplement ping/pong
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;
}
Terminal window
# Check certificate
openssl s_client -connect api.example.com:443 -servername api.example.com
# Check expiry
echo | openssl s_client -connect api.example.com:443 2>/dev/null | \
openssl x509 -noout -dates
# Verify chain
openssl s_client -connect api.example.com:443 -showcerts
ErrorCauseSolution
CERT_NOT_TRUSTEDSelf-signed or unknown CAAdd to trust store
CERT_EXPIREDCertificate expiredRenew certificate
HOSTNAME_MISMATCHWrong domain in certUse correct domain
WRONG_VERSION_NUMBERHTTP on HTTPS portCheck port configuration
Terminal window
# Check resolution
nslookup license-server
dig license-server
host license-server
# Check /etc/hosts
cat /etc/hosts | grep license
# Check DNS server
cat /etc/resolv.conf
Terminal window
# Add to hosts file if DNS not working
echo "192.168.1.100 license-server" >> /etc/hosts
# Flush DNS cache
# systemd-resolved
systemd-resolve --flush-caches
# nscd
nscd -i hosts
[command_mode]
timeout_seconds = 120 # Command execution timeout
[api]
read_timeout_seconds = 60 # Request read timeout
write_timeout_seconds = 60 # Response write timeout
Terminal window
# Environment variables
NEXT_PUBLIC_API_TIMEOUT_MS=30000 # 30 seconds
LICENSE_MONITOR_TIMEOUT=60000 # 60 seconds
Terminal window
# Capture traffic to license server
tcpdump -i any host license-server -w capture.pcap
# Capture port 8080 traffic
tcpdump -i any port 8080 -w api.pcap
Terminal window
# Show all connections
ss -tunapl | grep license_monitor
# Show connection states
ss -s
# Show listening ports
ss -tlnp
Terminal window
# Trace path to license server
traceroute license-server
# TCP traceroute on specific port
traceroute -T -p 27000 license-server