This article is meant to assist your System or Network Administrator with enabling Websockets on your system and on your Internet Network. Your network or system administrator is a person or a provider who administers your local network, your ISP, or your computer settings.
Q: What does Grammarly need in order to function correctly?
A: We use the following endpoints that need to be added to the allowlist for our HTTPS services and for WebSockets:
https:
- *.grammarly.com
- *.grammarly.io
- *.grammarly.net
WebSockets:
- wss://capi.grammarly.com/fpws
- wss://capi.grammarly.com/freews
- wss://dox.grammarly.com/documents
- wss://capi.grammarly.com/wstest
Q: We have ports 80 and 443 opened for any connections, but Grammarly encounters issues with WebSockets. What do we do?
A: In order to work with your firewall correctly, WebSockets not only need these ports to be "opened", but there should also be some support on the firewall/proxy level.
After establishing a connection, a browser issues an HTTP request with an Upgrade header, which is a hop-by-hop header, i.e. it is meaningful only for a single transport-level connection, and it is neither stored by caches nor forwarded by proxies by default. If a proxy/firewall is not aware of WebSockets and it doesn't forward it further (making some other effort alongside, e.g. keeping the connection active), then it is impossible to establish a connection.
Please consult your proxy/firewall documentation about how to enable support for WebSockets.