nginx转发websocket
时间: 2023-09-05 11:14:55 浏览: 115
要在Nginx中实现WebSocket的转发,可以使用以下配置:
```
server {
listen 80;
server_name your_domain;
location / {
proxy_pass http://127.0.0.1:8080/;
proxy_http_version 1.1;
proxy_read_timeout 3600s;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
```
这个配置中,`proxy_pass`指定了要转发到的后端服务器地址,`proxy_http_version`设置代理使用的HTTP协议版本为1.1,`proxy_read_timeout`设置连接超时时间为3600秒。最后两行的`proxy_set_header`配置是为了启用对WebSocket连接的支持。
需要注意的是,当使用了`proxy_read_timeout`设置之后,如果在3600秒内没有使用该连接发送信息,连接将会被关闭,同时后台会报一个错误:EOFException异常。
另外,值得一提的是,如果在代码中对异常进行处理,也可以解决这个问题。但如果您有其他解决方法,可以在Nginx中进行处理该异常信息。<span class="em">1</span><span class="em">2</span>
#### 引用[.reference_title]
- *1* *2* [nginx转发websocket](https://blog.csdn.net/Leon_Jinhai_Sun/article/details/118739225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文