# Reverse Proxy

<div align="left"><figure><img src="https://462154250-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MGmQrf2z6FL0ZpExPAn%2Fuploads%2FeBXSHBTOF2FzKDtO1CKy%2Fimage.png?alt=media&#x26;token=65e5c2a5-a1de-41d0-8723-2ad36cdca5e1" alt=""><figcaption><p>WebGL with Reverse Proxy - 500 CCU</p></figcaption></figure></div>

Using a reverse proxy performs better than doing SSL encryption within Unity as part of the game server process:

* Unity is single-threaded, while the reverse proxy is a separate process that's generally engineered to enterprise class performance and is multi-threaded.
* Encryption is computationally expensive, so better to not bog down Unity with that workload.
* Unity / mono may not be up to date on TLS version or be able to read the latest certificates.

This section has instructions for both [Linux](https://mirror-networking.gitbook.io/docs/manual/transports/websockets-transport/reverse-proxy/linux) and [Windows](https://mirror-networking.gitbook.io/docs/manual/transports/websockets-transport/reverse-proxy/windows).
