nginx转发websocket
生活随笔
收集整理的這篇文章主要介紹了
nginx转发websocket
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
nginx轉發websocket
1、Nginx 支持websocket的配置
server {listen 80;server_name 域名;location / {proxy_pass http://127.0.0.1:8080/; // 代理轉發地址proxy_http_version 1.1;proxy_read_timeout 3600s; // 超時設置// 啟用支持websocket連接proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";} }主要是最后兩行1. roxy_set_header Upgrade $http_upgrade;2. proxy_set_header Connection "upgrade";3. proxy_http_version 1.1; 設置代理使用的HTTP協議版本。默認使用的版本是1.0,而1.1版本則推薦在使用keepalive連接時一起使用;因為http1.0不支持keepalive特性,當沒有使用http1.1的時候,后端服務會返回101錯誤,然后斷開連接。4. proxy_read_timeout 3600s; 超時設置,就是開啟websocket連接后,若3600s內沒有使用該連接發送信息,則在3600s后關閉該連接;但同時后臺會報一個錯誤:EOFException異常;因為不知道怎么處理該錯誤(除了在代碼中對異常進行處理之外,可以在nginx中進行處理該異常信息),所以沒有用這個方法;若您有解決方法,麻煩告知一下
總結
以上是生活随笔為你收集整理的nginx转发websocket的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux的TCP连接数量最大不能超过6
- 下一篇: 使用Nginx代理和转发Websocke