Hello all, I am having issue with accessing our SCG web dashboard and have been troubleshooting. I used AI to summarize what I've tried before and the context of the issue. Any leads would be appreciated, thank you!
Environment:
Secure Connect Gateway Virtual Edition, Hyper-V deployment, SUSE Linux Enterprise Server 15 SP6
Docker-based (confirmed via docker ps; Podman not installed)
Support ID: 03879033, Enterprise/Perpetual license, support valid through 2/18/2027
Background: Web dashboard was already inaccessible before any upgrade was attempted. Performed a CLI upgrade (SCG-5.36.00.16.bin --upgrade) hoping it would resolve the access issue. Console output reported: "patch update has been successfully completed with the version: 5.36.00.16."
Current symptoms post-upgrade:
Login banner still displays 5.34.00.16 (uncertain if this is expected/cosmetic for CLI patches, or a sign the upgrade didn't fully apply — trying to confirm actual version via /opt/esrsve/version now)
docker ps shows all 3 containers (saede-app, esrsde-app, esrsalert-app) with "Up" status, no restart loops
Port 5700: ss -tlnp shows dockerd listening, but curl (both locally and remotely) returns "Failed to connect... Could not connect to server"
Port 9443: curl gets a response (HTTP-level success), but returns <h1>Page Not Found</h1> at the root path
Full appliance reboot performed — same results persist afterward
Diagnostics run per your VE Troubleshooting Guide:
Inside esrsde-app: wd status connectivityRegistration → RUNNING
Inside saede-app: wd status secureconnectgateway → RUNNING
wd status secureconnectgatewaydb → "Unknown services" (name doesn't appear to exist in this version)
wd health (inside saede-app) → secureconnectgatewayalertservice shows state: FAILED, exitValue: 1, description "Listens for alerts, then publishes them to other plugins"
Attempted to pull logs for the failed service via journalctl -u secureconnectgatewayalertservice, both as the container's default user (sudo password unknown/not provided at deployment) and via docker exec -u root — journal access denied either way ("Failed to search journal ACL: Permission denied... No journal files were opened due to insufficient permissions"), suggesting journald may not be fully functional inside this container.
Question: Is the FAILED secureconnectgatewayalertservice likely the root cause of the dashboard returning 404/refusing connections on both 5700 and 9443? What's the correct way to pull this service's actual error logs given journalctl isn't accessible inside the container — is there a direct log file path we should be checking instead? Also looking for confirmation on which port (5700 vs 9443) is actually correct for VE dashboard access, since your own documentation references both depending on the page.
Since you are in the middle of testing, here is a quick look at why Docker failed here, followed by two fast non-destructive commands you can try right now to jumpstart that missing proxy.
Why Docker Broke (The SUSE + Docker Upgrade Bug)
When you performed the CLI upgrade on SUSE Linux, the script likely restarted the firewall or Docker engine out of order. On SUSE, if firewalld or iptables restarts after the Docker daemon starts, it wipes out all of Docker's custom routing chains and kills the active docker-proxy threads. The containers look "Up," but they are completely isolated from the outside world.
Two Things to Try Right Now
Because you mentioned an ITAR scope, we want to stay completely clear of messing with security policies. These native Docker commands can force the proxy to rebuild itself cleanly:
1. The Total Network Kick
Instead of just restarting containers, tell the Docker network daemon itself to reload its routing tables. Run this on the SUSE host:
systemctl restart docker
Use code with caution.
Why this helps: This forces Docker to hook back into the Linux kernel, re-register its forwarding rules, and spin up the missing docker-proxy processes for ports 5700–5705.
2. Re-create the Container Network
If restarting Docker doesn't bring back docker-proxy, the upgrade script may have left the internal bridge network corrupted. You can force Docker to recreate the network interface without losing any of your data:
Clear Browser Cache / Try Incognito: The SCG web interface relies heavily on browser caching. After CLI patches, a cached 5.34 layout will completely break when talking to a partial 5.36 backend, resulting in connection drops or blank pages on port 5700.
Restart the Docker Services: Since the full appliance reboot did not help, try forcing Docker to tear down and recreate the container network stack:
systemctl restart docker
Use code with caution.
Verify Listening Ports on the Host: Run ss -tlnp | grep 5700 on the SLES host (not inside the container). If dockerd is listening but curl fails, the issue is usually an internal Docker routing mesh failure or a firewall rules block (iptables) that happened during the dirty upgrade.
with kind regards Martin/ Liebe Grüße Martin
Did I answer your query? Please click on ‘Mark as Accepted Answer’. ‘Thumbs up’ the posts you like!
Port answer first: 5700 is correct for the dashboard (HTTPS UI). Port 5700 is used to open the secure connect gateway user interface using HTTPS with TLS v1.2, while 9443 is for registering and receiving alert/heartbeat data from storage devices via REST APIs — it's not the dashboard port, so the 404 there is expected/normal. Your real problem is 5700 refusing connections.
Yes, the alert service is a strong suspect, but check port 162 first. Dell's own troubleshooting guide notes this service needs port 162 free — if something else is using it, the alert service won't start. Run ss -tlnp | grep 162 to check for a conflict (SNMP trap daemon is a common culprit).
There's also a documented KB (000259425) for this exact FAILED state, where SNMP usage was found to cause incompatibilities that stopped the Alert Service, confirmed via the Alert Service log and Application log showing the SNMP Telegraf process failing to start. The fix there was temporarily disabling SNMPv3 and restarting the Alert Service, which let it reinitialize with the updated settings. Worth checking if SNMPv3 is configured on your gateway.
On log access: since journalctl is blocked inside the container, skip it — look for the actual SCG application/Alert Service log files directly under the SCG install path (typically under /opt/dell/scg or similar mounted volume, not systemd journal) rather than fighting container permissions.
Bottom line for your next step:
Check for a port 162 conflict Check if SNMPv3 is enabled — disable temporarily and restart the alert service (wd stop/wd start secureconnectgatewayalertservice) Confirm actual version via /opt/esrsve/version as you planned — a mismatch there would confirm the CLI upgrade didn't fully apply, which could independently be blocking 5700
@Mark Franklin Thank you for response! I tested as suggested and in terms of port 162, there is no conflict. Also for SNMPv3, I cannot determine if this is enabled or not without the web UI. However, I was able to narrow down the problem:
Subject: SCG VE Alert Service FAILED post-upgrade (5.34.00.16 → 5.36.00.16) — confirmed root cause: Telegraf secretstore/keyring error
Environment:
Secure Connect Gateway Virtual Edition, Hyper-V, SUSE Linux Enterprise Server 15 SP6, Docker-based
Support ID: 03879033
Summary: Upgraded from 5.34.00.16 to 5.36.00.16 via CLI (SCG-5.36.00.16.bin --upgrade), which reported success. Web dashboard remains inaccessible on both port 5700 and 9443 (5700 refuses connection; 9443 returns "Page Not Found" at root). wd health inside saede-app shows secureconnectgatewayalertservice in a FAILED state, matching the pattern described in KB 000259425.
Root cause — confirmed, not inferred: Traced the exact command the production systemd unit runs (cat /usr/lib/systemd/system/secureconnectgatewayalertservice.service → ExecStart=.../secureconnectgatewayalertservice start), then followed that wrapper script's own start() function to its actual Telegraf invocation:
Ran this exact command manually to capture the live error (rather than relying on journalctl, which returns "Permission denied" / "No journal files were opened" inside this container regardless of user):
E! retrieving resolver failed: linking secrets failed: resolving "@{secretstore:tlskey}" failed: The specified item could not be found in the keyring
Since this reproduces using the identical command and config path the real service uses, this is confirmed as the actual failure — not an artifact of testing in isolation.
What this means: Telegraf's config references a secret named tlskey that's expected to be resolvable from a secretstore/keyring, and that secret appears to be missing or unreachable following the upgrade.
What's blocked on our end:
Per Dell's documentation, the SNMPv3-related fix in KB 000259425 requires toggling a setting in the SCG web UI — which is unreachable, creating a catch-22.
No documented CLI/config method to inspect or repair the secretstore/keyring itself was found in Dell's VE User's Guide or Troubleshooting Guide.
We have not attempted to manually inject/modify the keyring entry, since this is security-sensitive and undocumented territory we didn't want to touch without guidance.
Ask: Given the confirmed missing tlskey secret, is there a supported way to re-provision/regenerate this key from the CLI or via Dell's backend, given the UI (which would normally be used) is currently inaccessible as a direct consequence of this same failure? Also I wanted to ask if the tlskey secret used by Telegraf's SNMP alert listener is the same certificate that serves the web dashboard, or are these separate keys?
@Dell-Martin S Thank you for the input! I've tried rebooting the VM itself with no luck so I didn't try restarting the docker since it would have the same affect.
For listening ports, I confirmed that dockerd is listening via ss, confirmed curl fails locally exactly as described — and we've already traced this to the container's internal app listening on 7779 while Docker maps 5700-5705, a mismatch that appears to have been introduced or exposed by the upgrade.
since you know exactly what port the internal application is answering on, you can bypass the broken Docker port forwarding completely using an SSH Local Port Forward tunnel.
This will let you route your desktop web browser straight to the container's internal port, bypassing Docker's broken external 5700 map.
Find the internal IP address of the container. Run this command on your Hyper-V SUSE host:
If the core web application layer is alive and well, this tunnel will deliver you straight to the login dashboard, bypassing the 5700/7779 translation error.
with kind regards Martin/ Liebe Grüße Martin
Did I answer your query? Please click on ‘Mark as Accepted Answer’. ‘Thumbs up’ the posts you like!
Hello Martin, thank you for the continued help I really appreciate it. So today I tried a bunch of things stemming from your suggestion as summarized below:
Summary for the Dell Community thread:
Issue: SCG dashboard unreachable externally on ports 5700-5705 after upgrading to 5.36.00.16 (Docker & Podman release).
Background:saede-app container's internal watchdog service was found bound to port 7779 instead of the Docker-mapped 5700-5705 range, causing "connection refused" externally.
Steps tried:
SSH tunnel workaround (per community suggestion) — hit an SSH host key mismatch warning first. Verified via console that the new key was legitimate (confirmed matching fingerprint), cleared the stale known_hosts entry, reconnected successfully.
Tunnel itself failed — SSH server rejected the -L forward with administratively prohibited: open failed (TCP forwarding disabled in sshd_config, likely intentional hardening). Abandoned this path rather than loosen SSH security on an ITAR-scoped host.
Tried rebinding the app internally to 5700 instead — traced the listening process to watchdogservice.jar (Spring Boot 3.4.10), found port: 7779 in /opt/esrsve/watchdogservice/watchdogservice_sae.yml, changed it to 5700, restarted container. Result: the service failed to bind on any port after the edit (empty listener). Reverted to backup (port: 7779).
Uncovered a separate, real bug in the process —startup logs confirm the watchdog serves plain http-nio-7779 (HTTP), not HTTPS, but the suggested test URL was https://localhost:8443. That protocol mismatch alone would explain failures even with a working tunnel.
Current finding, in progress: after restoring the config and restarting, the container's internal namespace now shows something listening across the entire 5700-5705 range (previously only 7779). However, curl to localhost:5700 on the SCG host itself still returns "Connection refused," and docker port saede-app shows the mapping as configured but no docker-proxy process is actually running for port 5700 — meaning Docker's port-publishing layer itself appears broken, independent of the application. Currently testing a full docker stop/docker start cycle to see if it re-establishes the proxy/NAT rules correctly.
I'll keep working on this but its been a rabbit hole so far hahaha appreciate the help as always!
Dell-Martin S
Moderator
•
3876 Posts
•
25789 Points
0
0
Posted September 10th, 2026 09:04
firewalldoriptablesrestarts after the Docker daemon starts, it wipes out all of Docker's custom routing chains and kills the activedocker-proxythreads. The containers look "Up," but they are completely isolated from the outside world.docker-proxyprocesses for ports 5700–5705.docker-proxy, the upgrade script may have left the internal bridge network corrupted. You can force Docker to recreate the network interface without losing any of your data:with kind regards Martin/ Liebe Grüße Martin
Did I answer your query? Please click on ‘Mark as Accepted Answer’. ‘Thumbs up’ the posts you like!
DELL-Martin S
Social Media and Communities Professional
Dell Technologies | Enterprise Support Services
#IWork4Dell