# What Ports Do I Need To Open In My Firewall To Allow Channels To Connect?

## Client Libraries

WebSocket connections generally work even if a proxy or firewall is in place. This is because they use ports 80 and 443 which are also used by HTTP connections.

In some situations WebSocket connections are blocked over port 80. In this case a secure SSL connection using WSS over port 443 should successfully connect. If this is not the case please [contact Pusher support.](https://messagebird.com/support-center/Pusher-request-new)

By default, the destinations and ports used by Channels clients are as follows:

ws\://ws.pusherapp.com on port 80\
wss\://ws.pusherapp.com on port 443

When a cluster is specified then the destinations and ports used by Channels clients are as follows:

ws\://ws-\[your-cluster].pusher.com on port 80\
wss\://ws-\[your-cluster].pusher.com on port 443

If pusher-js is used and a fallback transport is used (such as xhr\_streaming), the default destinations and ports used by Channels clients are as follows:

<http://sockjs.pusherapp.com> on port 80\
<https://sockjs.pusherapp.com> on port 443

If you have specified a cluster then the destinations and ports used bu Channels clients are as follows:

<http://sockjs-\\[your-cluster].pusher.com> on port 80\
<https://sockjs-\\[your-cluster].pusher.com> on port 443

If making use of the CDN then the following are used:

js.pusher.com on port 80\
js.pusher.com on port 443

## Server Libraries

For the server libraries, by default you will need:

api.pusherapp.com on port 80\
api.pusherapp.com on port 443

Although, if you have specified a cluster then you will require:

api-\[your-cluster].pusher.com on port 80\
api-\[your-cluster].pusher.com on port 443

Finally, our optional stats collection endpoint requires:

stats.pusher.com port 80\
stats.pusher.com port 443

{% hint style="info" %}
Still have questions? Please reach out to our Support team by visiting [this page](https://messagebird.com/support-center/Pusher-request-new).
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bird.com/pusher/channels/channels/connecting/what-ports-do-i-need-to-open-in-my-firewall-to-allow-channels-to-connect.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
