Last updated 2023-06-15
Fastly supports the use of the WebSocket protocol. This protocol allows you to establish long-lived, two-way, interactive communication sessions between an end user's client (such as a web browser) and your servers.
To use the WebSocket protocol, you must purchase a paid account with a contract for WebSockets.
Keep in mind the following limitations and considerations:
- Only the Name, Address, Enable TLS, and Override Host origin server settings are supported.
- To avoid a backend mismatch error, avoid naming backends with hyphens. Consider using underscores instead.
- When handling a WebSocket request,
vcl_logwill run at the time the request is accepted rather than when the connection ends.
- It is not currently possible to modify the
Request(or use a constructed
Request) for the
handoff_websocketinvocation. If you try this, the WebSocket handoff will be based on the original request as presented by the client.
- Self-signed TLS certificates are not supported. TLS certificates must be signed by a public certification authority.
Use of the WebSocket protocol is disabled by default. Anyone assigned the role of superuser or engineer can enable it directly in the web interface, which will result in changes to your monthly bill. When enabled, any user will be able to use this communications protocol to establish two-way, interactive communication sessions between clients and servers.
We base billing for WebSockets on a combination of bandwidth and connection time. Connection time is measured for each connection in usage minutes (rounded up to whole minutes) and aggregated monthly to millions of minutes. Bandwidth is included as part of your overall delivery bandwidth rate in your monthly billing statement.