【配置】SwooleDistributed 3.X框架中利用Nginx對HTTP、Websocket協議進行反向代理
前言
SwooleDistributed 3.X可以同時支援HTTP、Websocket和TCP協議,在配置防火牆規則的情況下可以通過IP:PORT
的方式進行HTTP和Websocket的訪問,但是這樣在生產環境中是不安全的,而且相對來說IP:PORT
的訪問方式並不友好,所以就要用到nginx的反向代理了,將80埠的請求反向代理到SwooleDistributed框架監聽的埠。
具體配置
現在假設伺服器上已經安裝了nginx以及SwooleDistributed框架。核心的nginx配置如下:
....
# HTTP請求轉發到SwooleDistributed監聽的9092埠
location /{
proxy_set _header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.1:9092/;
break;
}
# Websocket請求轉發到SwooleDistributed監聽的9093埠
location /ws{
proxy_pass http://127.0 .0.1:9093;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# WebSocket 支援的核心配置
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
# WebSocket超時設定(可選)
proxy_connect_timeout 7d;
proxy_send_timeout 7d;
proxy_read_timeout 7d;
proxy_redirect off;
break;
}
....
測試結果
我們可以通過瀏覽器的console
命令列進行測試,也可以使用線上的Websocket測試工具進行測試,這裡推薦使用EasySwoole
出品的Websocket線上測試工具,點此開啟。
效果如下:
相關推薦
【配置】SwooleDistributed 3.X框架中利用Nginx對HTTP、Websocket協議進行反向代理
前言 SwooleDistributed 3.X可以同時支援HTTP、Websocket和TCP協議,在配置防火牆規則的情況下可以通過IP:PORT 的方式進行HTTP和Websocket的訪問,但是這樣在生產環境中是不安全的,而且相對來說IP:PORT 的訪
【轉】 cocos2dx 3.x C++搭建protobuf環境
person ccf binding csdn bind taf protoc -cp strlen http://blog.csdn.net/ganpengjin1/article/details/50964961 Cocos2dx 裏面在網絡遊戲通信這一塊一般我們都會采
【轉】詳述 Spring MVC 框架中攔截器 Interceptor 的使用方法
1 前言 昨天新接了一個需要,“攔截 XXX,然後 OOO”,好吧,說白了就是要用攔截器乾點事(實現一個具體的功能)。之前,也在網路上搜了很多關於Interceptor的文章,但感覺內容都大同小異,而且知識點零零散散,不太方便閱讀。因此,正好藉此機會,整理一篇關於攔截器
【Spring】Spring 3.x企業應用開發實戰(6)----BeanFactory
BeanFactory是一個類工廠,是類的通用工廠。不多說,直接進入BeanFactory的使用: 首先建一個Bean類,Car.java package com.techman.reflect
【Android】GreenDao 3.X 結合Volley以及Gson、ImageLoader實現資料儲存
關於GreenDao的優點已經不用再說了,關於第三方資料庫框架有很多,相對於Android系統本身的SQLite以及其它第三方而言,我感覺GreenDao使用更方便,體積小、速度更快。網上大多是關於GreenDao之前版本的介紹,關於3.0+新版的介紹不多。Gr
MYSQL 中利用insert對自增欄位進行插值
mysql的insert/replace/update/delete & insert,update,delete多表操作 2008-03-28 15:44:10 from WriteDream INSERT和REPLACE語句的功能都是向表中插入新的資料。這兩條
【踩坑】angularJS 1.X版本中 ng-bind 指令多空格展示
ext 數據庫查詢 sci 接收 可能 color 最終 數據 目的 做項目的時候遇到的問題 1、問題描述 用戶在表單某個值輸入多個空格,例如:A B,保存至服務器 在列表查詢頁面中使用bg-bind的指令單向綁定,結果展示位A B,連續的空格被替換
【轉】: 《江湖X》開發筆談 - 熱更新框架
列表 ane lua 會有 數據文件 由於 嚴格 http服務 tex 前言 大家好,我們這期繼續借著我們工作室正在運營的在線遊戲《江湖X》來談一下熱更新機制以及我們的理解和解決方案。這裏先簡單的介紹一下熱更新的概念,熟悉這部分的朋友可以跳過,直接看我們的方案。 熱更新
【轉】在使用實體框架(Entity Framework)的應用中加入審計信息(Audit trail)跟蹤數據的變動
要求 date ted hang ng- tar () eat code 在一些比較重要的業務系統中,通常會要求系統跟蹤數據記錄的變動情況。系統要記錄什麽時間,什麽人,對那些信息進行了變動。 比較簡單的實現方式是在每個表中加入兩個字段CreatedBy和CreatedA
【環境配置】(四)opencv3中配置sfm模組
1、配置前準備 下載:glog, gflags, eigen, ceres solver,地址見https://docs.opencv.org/trunk/db/db8/tutorial_sfm_installation.htmlopencv配置sfm官方說明 Eigen是一個高層次
【Android】影象濾鏡框架GPUImage從配置到應用
GPUImage簡介 GPUImage 是iOS下一個開源的基於GPU的影象處理庫,提供各種各樣的影象處理濾鏡,並且支援照相機和攝像機的實時濾鏡。GPUImage for Android是它在Android下的實現,同樣也是開源的。其中提供了幾十多種常見的圖片濾鏡API,且
【轉載】Centos7.3安裝和配置Mysql5.7
Linux安裝mysql aliyun安裝mysql https://blog.csdn.net/qq_35393693/article/details/79994097 遇到問題向下看 (第七步:設定允許遠端登入 Mysql預設不允許遠端登入
【PE】Windows平臺命令列中使用vcvarsall.bat配置編譯環境
###Date: 2017/9/20 一、關於命令列編譯環境的配置方法 對於VS2015,%VS140COMNTOOLS%/VC下就有vcvarsall.bat,用於生成命令列編譯環境。 對於V
【ES】學習3-請求體查詢
ext 組合 https 傳遞 guide should 學習 text class 1.空查詢 GET /index_2014*/type1,type2/_search {} GET /_search { "from": 30, "size": 10 }
【原創】Zend Framework 2框架之MVC
spa lov gef rst 當前 mage 匿名函數 skeleton 一個 ZendFramework 2框架之MVC作者:sys(360電商技術組)1.前言Zend Framework 2是zend官方推出的php開源框架,基於php5.3。他全然採用面向對象的代
【譯文】怎樣在R語言中使用SQL命令
bow all label 數據科學 eid tex 鏈接 方法 params 【譯文】怎樣在R語言中使用SQL命令 作者 Fisseha Berhane 對於有SQL背景的R語言學習者而言。sqldf是一個很實用的包,由於它使我們能在R
【redis】之centos6.x安裝redis3.0.x
local con releases 新建 zxvf 分享 執行 .tar.gz all centos6.9_x86_64 1、下載redis安裝包 http://download.redis.io/releases/redis-3.2.9.tar.gz 2、解壓 tar
【Java_SSM】(四)Eclipse中通過maven引入jar包
osc ati eight wid -- stat ack ips 技術 這篇博文我們介紹一下如何通過eclipse配置setting並引入jar包 (1)eclipse:Window--Preferences--Maven--User Setting 全部完成
MT【26】ln(1+x)的對數平均放縮
height ont border 技術 wid ack rac alt play 評:1.某種程度上$ln(1+x)\ge \frac{2x}{2+x}$是最佳放縮. 2.這裏涉及到分母為冪函數型的放縮技巧,但是不夠強,做不了這題。MT【26】ln(1+x)的對數
【轉載】在Angular 2/Typescript中聲明全局變量的最佳方式是什麽?
more 中一 keyword 訪問 emit 更新 other link 之間 問題詳細描述 我想在Typescript語言中的Angular 2中聲明一些全局可見的變量。最佳的實踐方法是? 推薦的實現方法 這是最簡單的解決方案,無需使用Service或Observe