SSL Toolkit Logo

WebSocket SSL Checker

Check if a server supports WebSocket Secure (WSS) connections

About WebSocket Secure (WSS)

WebSocket is a protocol that enables full-duplex, bidirectional communication between a client and server over a single TCP connection. WebSocket Secure (WSS) tunnels WebSocket traffic over TLS/SSL, providing encryption and authentication. WSS is essential for real-time web applications — including live chat, gaming, financial tickers, and collaborative tools — where data must be transmitted securely and with low latency. Our WebSocket SSL Checker tests whether a server accepts WSS upgrade requests and establishes encrypted WebSocket connections.

How to Use

  1. Enter the domain name of the WebSocket server.
  2. Optionally specify a WebSocket path (default is /).
  3. Click Test WSS to attempt a secure WebSocket connection.
  4. Review the result to see if the server supports WSS and any additional details.

Use Cases

Frequently Asked Questions

WS (WebSocket) uses unencrypted connections (ws://), while WSS (WebSocket Secure) tunnels WebSocket traffic over TLS/SSL (wss://). WSS is the standard for production applications as it encrypts all data in transit, similar to the difference between HTTP and HTTPS.
Yes, WSS should always be used for production applications. Modern browsers also restrict unencrypted WebSocket connections from secure (HTTPS) pages, making WSS a requirement for most real-world deployments. WSS protects against eavesdropping and man-in-the-middle attacks.
WSS typically uses port 443, the same as HTTPS. WebSocket servers can run on any port, but using port 443 ensures compatibility with most firewalls and network policies. Our checker tests on port 443 by default.
Because the failure mode is invisible until an application depends on it. A page loads perfectly over HTTPS and the WebSocket connection is simply refused or dropped, with no error the user can see and nothing in a TLS scan to suggest why. For applications depending on live updates, that is a functional outage rather than a performance problem, and it is worth confirming separately from the rest of your transport.
That the server understands WebSocket and requires an upgrade request. It is a different situation from outright refusal: the endpoint exists and speaks the protocol, it just will not accept a plain HTTPS request as a connection. Seeing 426 usually means you sent a normal request where a WebSocket upgrade was expected — worth checking before concluding the endpoint is unsupported.
No. It confirms the handshake completes, which is the part that TLS configuration and proxies usually break. What happens afterwards — framing correctness, ping and keepalive handling, authentication on the socket, and whether the server enforces its origin policy — requires a real WebSocket client and a real session. Those are separate tests with separate failure modes.
Because WebSocket is routed like any other HTTP endpoint. An application server, reverse proxy or load balancer has to be configured to pass upgrade headers through for each path where it is expected, and that configuration is per location rather than global. A proxy that handles ordinary traffic correctly can still break upgrades unless it is explicitly told to forward them, which makes per-path failures common.
Neither is covered by a handshake check, and both matter more than the handshake once it works. A WebSocket that accepts connections from any origin is vulnerable to cross-site hijacking if it carries authenticated state, and a socket that never authenticates is an unauthenticated channel into your application. Treat the upgrade as the easy part and verify origin restriction and authentication deliberately.

How Support Is Detected

WebSocket runs over an ordinary HTTPS connection that is upgraded after the initial response. This page performs that upgrade request the way a client would and reads the server's answer.

  1. 1Send a proper upgrade request over TLS, with the Upgrade and Connection headers, the WebSocket version, and a base64-encoded key. A real client sends all of these, so anything less would fail against a correct server for the wrong reason.
  2. 2Read the response code for the verdict. A 101 means the upgrade succeeded and the connection becomes a WebSocket. A 426 means the server understands WebSockets but demands an upgrade the plain request did not include. Anything else is reported with the code so you can tell refusal from misconfiguration.
  3. 3Report the path tested, since WebSocket support is per endpoint. A server can support it on one path and not another, and the path is supplied for exactly that reason.

This establishes that the upgrade works at that path. It does not exercise the protocol afterwards — message framing, keepalive behaviour and origin policy are separate concerns that only a real client session would cover.

Tips & Best Practices

Technical Details

Protocol: WebSocket Secure (WSS) over TLS support detection
Upgrade: HTTP to WebSocket upgrade mechanism
Security: TLS version and cipher suite requirements
Output: WebSocket support status with configuration recommendations

Related Tools