日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

使用Nginx代理和转发Websocket连接

發布時間:2024/4/13 Nginx 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Nginx代理和转发Websocket连接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.Websocket 簡介

WebSocket協議是基于TCP的一種新的網絡協議。它實現了瀏覽器與服務器全雙工(full-duplex)通信——允許服務器主動發送信息給客戶端。

2.Nginx 簡介

Nginx是一個反向代理服務器,所有的來自瀏覽器的請求必須經過Nginx。

通常的正向代理服務器,只用于代理內部網絡對Internet的連接請求,客戶機必須指定代理服務器,并將本來要直接發送到Web服務器上的http請求發送到代理服務器中,此時客戶機是主動方。

而在反向代理中,web服務器是主動方,客戶機必須經過代理才能訪問。

3.Uwsgi 簡介

所謂后端APP,即一套用來處理客戶端請求的邏輯部分的程序;

所謂WSGI,即python用來web開發的協議標準;

所謂uWSGI,即一個即可以充當web服務器,又可以作為中間件的程序;

所謂uwsgi,是uWSGI基于WSGI實現的自用的一個協議;

4.配置Nginx代理Websocket連接

一 Nginx監聽80端口,并轉發到443端口。即默認使用https傳輸。

二 在443端口,開啟ssl,設置證書。

 如果監聽到指定websocket連接,設置websocket協議升級,具體配置如下:

proxy_connect_timeout 2s ... proxy_pass https://clusters ... proxy_set_header X-Real_IP $remote_addr_IP proxy_set_header Host $host proxy_set_header X_Forward_For $X_Forward_For proxy_http_version 1.1 proxy_set_header Upgrade $http_upgrade proxy_set_header Connection 'upgrade'

三 監聽另一端口,配置同上,并將消息轉發給uwsgi端口,交付給uwsgi處理。

5.前后端發送和處理Websocket消息

前端使用javascript接口新建websocket對象,并監聽websocket.onmessage事件,進行消息接受和處理。并通過websocket.send()接口進行消息發送。

后端uswgi框架使用類似的websocket對象進行消息收發和處理。

總結

以上是生活随笔為你收集整理的使用Nginx代理和转发Websocket连接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。