为 WebSocket 配置 Nginx 反向代理来支持 Uvicorn 的最佳实践
前景
要为
WebSocket(以 ws:// 或 wss:// 协议)
配置 Nginx 反向代理来代理Uvicorn 服务器
(或其他支持 WebSocket 的应用),需要确保 Nginx 和 Uvicorn 支持 WebSocket 连接,并做一些特定的配置。WebSocket 协议与 HTTP/HTTPS 不同,因此需要在 Nginx 中设置正确的代理头和升级机制。
以下是配置步骤:
1. 配置 Uvicorn 启动(支持 WebSocket)
确保 Uvicorn 正在监听正确的地址和端口,并且支持 WebSocket。例如:
uvicorn your_app:app --host 0.0.0.0 --port 8000