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.


This information is part of a limited availability release. For additional details, read our product and feature lifecycle descriptions.


To use the WebSocket protocol, you must purchase a paid account with a contract for Fastly's services.

Limitations and considerations

Keep in mind the following limitations and considerations during limited availability:

  • 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_log will 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_websocket invocation. 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 in usage minutes (rounded up to whole minutes) and aggregated monthly. Bandwidth is included as part of your overall delivery bandwidth rate in your monthly billing statement.

Was this guide helpful?

Do not use this form to send sensitive information. If you need assistance, contact support.