WebSockets Support Q&A for System Administrators

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: Besides HTTPS requests, Grammarly products use WebSockets to communicate with the text checking service. The WebSockets use HTTP and HTTPS, with the corresponding ports of 80 and 443. You can read more about WebSockets here: 

https://en.wikipedia.org/wiki/WebSocket and https://www.websocket.org/aboutwebsocket.html 

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 needs these ports to be "opened" and also needs 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, like 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.

Q: We have protocol/domain/URL based firewall rules, what should we allow for Grammarly to work properly?

A: Besides our HTTPS services (*.grammarly.com, *.grammarly.io) for WebSockets, we use the following endpoints:





Was this article helpful?
Have more questions? Submit a request