Ports
All of Ably's client libraries exclusively use the standard HTTPS port 443 for WebSockets and HTTP traffic over TLS.
When configured to not use TLS, port 80 is used.
Warning: Please note we rarely recommend anyone uses an unencrypted connection and this is disabled by default in all client libraries.
If using our Ably Protocol Adapters and/or our Integrations, the following ports are used:
- Ably queues over AMQP - TLS only using port 5671
- Ably queues over STOMP - TLS only using port 61614
- MQTT adapter - port 8883 over TLS and port 1883 for unencrypted socket
- PubNub adapter - HTTPS only using port 443
- Pusher adapter - HTTPS only using port 443
IPs and domain names
Note: Unfortunately it is impossible for Ably to publish a set of IP addresses for the cloud based service as our service is elastic and IP addresses are reassigned dynamically as a normal part of our service.
Ably's client libraries by default connect to Ably using the following domains:
Caution: Customers using custom CNAMEs will have a different set of primary REST and Realtime domains, and may also have a different set of fallback host domains then listed below. Please contact us to find out more about your domains.
- REST requests - rest.ably.io
- Realtime (WebSocket) connections - realtime.ably.io
- Fallback hosts - a.ably-realtime.com, b.ably-realtime.com, c.ably-realtime.com, d.ably-realtime.com, e.ably-realtime.com. Please see the documentation on why we provide a fallback host feature.
Note: Ably default endpoints are DNS CNAME records with the following target values
- rest.ably.io & realtime.ably.io CNAME main.realtime.ably.net
- a.ably-realtime.com CNAME main.a.fallback.ably-realtime.com
- b.ably-realtime.com CNAME main.b.fallback.ably-realtime.com
- c.ably-realtime.com CNAME main.c.fallback.ably-realtime.com
- d.ably-realtime.com CNAME main.d.fallback.ably-realtime.com
- e.ably-realtime.com CNAME main.e.fallback.ably-realtime.com
Note: The client libraries also check for general connectivity by requesting and checking the response from https://internet-up.ably-realtime.com/is-the-internet-up.txt so you should allow connectivity to this endpoint also.
The ably-js v2 realtime client also uses the "wss://ws-up.ably-realtime.com" endpoint to check if websocket connectivity is available, so if you're using using that library you should allow connectivity to that endpoint too.
If using our Ably Protocol Adapters and/or our Integrations, the following domains are used:
- Ably Queues in US East 1 - us-east-1-a-queue.ably.io
- Ably Queues in EU West 1 - eu-west-1-a-queue.ably.io
- Ably Queues in other regions - get in touch
- MQTT adapter - mqtt.ably.io
- PubNub adapter - pubnub-rest.ably.io
- Pusher adapter - pusher-rest.ably.io and pusher-realtime.ably.io