亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

GatewayWorker WSS 配置實(shí)戰(zhàn):Nginx 與 Gateway 協(xié)同部署指南

GatewayWorker WSS 配置實(shí)戰(zhàn):Nginx 與 Gateway 協(xié)同部署指南 1. 項(xiàng)目概述為什么 WSS 配置成了 GatewayWorker 項(xiàng)目上線前的“最后一道關(guān)卡”GatewayWorker 是國(guó)內(nèi) PHP 社區(qū)廣泛采用的長(zhǎng)連接服務(wù)解決方案它用 Swoole 實(shí)現(xiàn)了 Gateway、BusinessWorker、Register 三進(jìn)程模型把 WebSocket 連接管理、業(yè)務(wù)邏輯處理、服務(wù)注冊(cè)發(fā)現(xiàn)做了清晰分層。很多團(tuán)隊(duì)在開發(fā)實(shí)時(shí)通知、在線客服、協(xié)同編輯、IoT 設(shè)備心跳上報(bào)這類功能時(shí)第一反應(yīng)就是上 GatewayWorker——因?yàn)樗臋n齊、生態(tài)熟、配合 ThinkPHP 或 Laravel 做業(yè)務(wù)層非常順手。但真正走到部署階段90% 的人會(huì)卡在同一個(gè)地方本地ws://跑得飛起一上生產(chǎn)環(huán)境切到wss://就連不上控制臺(tái)報(bào)錯(cuò)net::ERR_CONNECTION_CLOSED或WebSocket connection to wss://... failedGateway 日志里卻安靜得像沒這回事。這個(gè)問題不是偶發(fā)而是有明確技術(shù)動(dòng)因的WSS 不是簡(jiǎn)單給 WebSocket 加個(gè) SSL它是建立在 TLS 協(xié)議之上的完整加密通道要求從客戶端發(fā)起請(qǐng)求到反向代理如 Nginx再到 GatewayWorker 的 Worker 進(jìn)程每一環(huán)都必須正確識(shí)別、透?jìng)?、終止或協(xié)商 TLS。而 GatewayWorker 本身不內(nèi)置 HTTPS 服務(wù)能力——它的 Worker 進(jìn)程只監(jiān)聽純 TCP 端口比如 2121所有 TLS 解密工作必須由前置組件完成。這就引出了最典型的配置失配Nginx 配置了 SSL但沒正確轉(zhuǎn)發(fā) WebSocket 升級(jí)頭或者 Nginx 轉(zhuǎn)發(fā)了但 GatewayWorker 的gateway.php配置里ssl相關(guān)參數(shù)全為 false又或者證書路徑寫錯(cuò)、權(quán)限不足、Swoole 版本不支持 TLS 1.3……每一個(gè)看似微小的疏漏都會(huì)讓整個(gè) WSS 鏈路在握手階段就靜默失敗。我最近在一個(gè)在線教育平臺(tái)的直播互動(dòng)模塊中復(fù)現(xiàn)了全部典型問題。這個(gè)項(xiàng)目需要支撐 5000 并發(fā)學(xué)生端實(shí)時(shí)接收答題倒計(jì)時(shí)、教師端廣播白板操作、后臺(tái)監(jiān)控連接健康度——對(duì)連接穩(wěn)定性、首包延遲、斷線重連成功率要求極高。我們前期在測(cè)試環(huán)境用ws://跑通了全部邏輯但正式灰度前切換 WSS 時(shí)花了整整三天才定位到根源Nginx 的proxy_set_header Upgrade $http_upgrade;這一行被注釋掉了而開發(fā)同學(xué)誤以為“SSL 配好了WebSocket 就自動(dòng)好了”。這種認(rèn)知偏差在中小團(tuán)隊(duì)中極其普遍。所以這篇紀(jì)實(shí)不講原理推導(dǎo)也不堆砌 RFC 文檔只聚焦真實(shí)生產(chǎn)環(huán)境里你馬上會(huì)遇到的配置項(xiàng)、報(bào)錯(cuò)日志、驗(yàn)證命令和繞過(guò)陷阱的實(shí)操路徑。無(wú)論你是剛接觸 GatewayWorker 的 PHP 開發(fā)者還是負(fù)責(zé)部署的運(yùn)維同學(xué)只要你的項(xiàng)目需要對(duì)外提供wss://接口這篇內(nèi)容就能幫你省下至少 8 小時(shí)排查時(shí)間。2. 整體架構(gòu)與配置思路三層解耦是 WSS 可靠性的底層前提要理解 GatewayWorker 的 WSS 配置為什么容易出錯(cuò)必須先厘清它的標(biāo)準(zhǔn)生產(chǎn)部署結(jié)構(gòu)。這不是一個(gè)單體服務(wù)而是一個(gè)典型的“前端卸載 后端專注”的三層協(xié)作模型最外層反向代理Nginx / Apache / Caddy它是用戶直接訪問的入口承擔(dān) SSL 證書加載、HTTP/HTTPS 請(qǐng)求終止、WebSocket 協(xié)議升級(jí)協(xié)商、負(fù)載均衡、靜態(tài)資源托管等職責(zé)。它不處理任何業(yè)務(wù)邏輯只做“流量翻譯官”。中間層Gateway 進(jìn)程它運(yùn)行在獨(dú)立端口如 8282負(fù)責(zé)維持與所有客戶端的長(zhǎng)連接做心跳檢測(cè)、連接數(shù)統(tǒng)計(jì)、IP 黑白名單、消息廣播等網(wǎng)關(guān)級(jí)功能。它通過(guò)register進(jìn)程與 BusinessWorker 通信但自身不解析業(yè)務(wù)數(shù)據(jù)。最內(nèi)層BusinessWorker 進(jìn)程它監(jiān)聽另一個(gè)端口如 2121只接收來(lái)自 Gateway 的已認(rèn)證、已解包的業(yè)務(wù)消息例如{type:submit_answer,data:{...}}執(zhí)行數(shù)據(jù)庫(kù)操作、調(diào)用第三方 API、觸發(fā)事件總線等。它完全不知道 TLS 是什么只認(rèn) TCP 流。WSS 的核心難點(diǎn)就在于這三層之間存在兩個(gè)關(guān)鍵“協(xié)議轉(zhuǎn)換點(diǎn)”客戶端 ? Nginx這是標(biāo)準(zhǔn)的 HTTPS WebSocket Upgrade 流程??蛻舳税l(fā)送GET /websocket HTTP/1.1Upgrade: websocketSec-WebSocket-Key頭Nginx 必須原樣透?jìng)鬟@些頭并返回101 Switching Protocols同時(shí)將后續(xù)二進(jìn)制幀流持續(xù)轉(zhuǎn)發(fā)給后端。Nginx ? GatewayWorker這里必須是明文 TCP 連接。Nginx 解密完 TLS 后把原始的 HTTP Upgrade 請(qǐng)求不含 TLS 層以明文形式發(fā)給 Gateway 進(jìn)程監(jiān)聽的端口。Gateway 進(jìn)程收到的是干凈的 WebSocket 握手請(qǐng)求它再按標(biāo)準(zhǔn)流程響應(yīng)101并升級(jí)為 WebSocket 連接。提示很多人誤以為 GatewayWorker 也要開 TLS 端口于是去改gateway.php里的ssl true并填證書路徑。這是根本性錯(cuò)誤。GatewayWorker 的 SSL 配置僅在一種場(chǎng)景下有效當(dāng)你跳過(guò) Nginx讓客戶端直連 Gateway 進(jìn)程即wss://your-domain.com:8282。但生產(chǎn)環(huán)境絕不能這么做——沒有反向代理你就失去了證書自動(dòng)續(xù)期、DDoS 緩沖、HTTP/2 支持、日志審計(jì)等關(guān)鍵能力。所以ssl true在標(biāo)準(zhǔn)架構(gòu)中應(yīng)永遠(yuǎn)為false。那么正確的配置責(zé)任劃分就非常清晰了Nginx 全權(quán)負(fù)責(zé) TLS 終止、證書管理、Upgrade 頭透?jìng)鱃atewayWorker 專注 WebSocket 協(xié)議處理只與 Nginx 建立明文連接BusinessWorker 完全無(wú)感照常收發(fā) JSON 消息這種解耦帶來(lái)的最大好處是可維護(hù)性換證書只需改 Nginx 配置調(diào)優(yōu) WebSocket 參數(shù)只需改 Gateway 配置升級(jí)業(yè)務(wù)邏輯只需重啟 BusinessWorker——三者互不影響。而所有“踩坑”幾乎都源于打破了這個(gè)邊界比如在 Nginx 里忘了加Upgrade頭導(dǎo)致 Gateway 收到的是普通 HTTP 請(qǐng)求而非 WebSocket 握手或者在 Gateway 配置里誤啟了 SSL結(jié)果它試圖用明文端口去讀取證書文件啟動(dòng)直接報(bào)錯(cuò)。3. 核心配置項(xiàng)逐項(xiàng)拆解Nginx 與 GatewayWorker 的 7 個(gè)關(guān)鍵開關(guān)WSS 配置的成敗取決于 7 個(gè)具體配置項(xiàng)是否全部正確。少一個(gè)連接就建立不了錯(cuò)一個(gè)日志里就找不到線索。下面我按實(shí)際部署順序把每個(gè)開關(guān)的作用、常見錯(cuò)誤、驗(yàn)證方法、修復(fù)方案說(shuō)透。3.1 Nginx Server 塊SSL 證書與基礎(chǔ) HTTPS 啟用這是整個(gè) WSS 的起點(diǎn)。Nginx 必須能正常響應(yīng)https://your-domain.com的普通 HTTPS 請(qǐng)求否則 WebSocket 根本沒機(jī)會(huì)發(fā)起。server { listen 443 ssl http2; server_name your-domain.com; # 證書路徑必須絕對(duì)準(zhǔn)確且 Nginx 用戶通常是 www-data 或 nginx有讀取權(quán)限 ssl_certificate /etc/nginx/ssl/your-domain.com/fullchain.pem; ssl_certificate_key /etc/nginx/ssl/your-domain.com/privkey.pem; # 強(qiáng)烈建議啟用 OCSP Stapling提升 TLS 握手速度 ssl_stapling on; ssl_stapling_verify on; ssl_trusted_certificate /etc/nginx/ssl/your-domain.com/chain.pem; # TLS 版本與加密套件兼顧安全與兼容性 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off; # 其他常規(guī)配置... root /var/www/html; index index.php; }常見錯(cuò)誤與排查證書路徑錯(cuò)誤ls -l /etc/nginx/ssl/your-domain.com/看文件是否存在sudo -u www-data cat /etc/nginx/ssl/your-domain.com/fullchain.pem | head -n 1測(cè)試 Nginx 用戶能否讀取。如果報(bào)Permission denied執(zhí)行sudo chmod 644 /etc/nginx/ssl/your-domain.com/*.pem。證書鏈不完整用openssl s_client -connect your-domain.com:443 -servername your-domain.com 2/dev/null | openssl x509 -noout -text | grep CA Issuers檢查是否包含中間證書。若缺失fullchain.pem應(yīng)為cert.pemchain.pem拼接。Nginx 未重載改完配置必須sudo nginx -t sudo systemctl reload nginx只reload不restart避免連接中斷。注意不要在ssl_certificate路徑里用相對(duì)路徑或~符號(hào)Nginx 啟動(dòng)時(shí)工作目錄不固定必須用絕對(duì)路徑。3.2 Nginx Location 塊WebSocket 升級(jí)頭的精準(zhǔn)透?jìng)鬟@是 WSS 失敗率最高的環(huán)節(jié)。Nginx 默認(rèn)不會(huì)透?jìng)鱑pgrade和Connection這兩個(gè)關(guān)鍵頭必須顯式聲明。location /websocket { # 關(guān)鍵必須開啟代理緩沖否則大消息會(huì)截?cái)?proxy_buffering off; # 關(guān)鍵透?jìng)?WebSocket 升級(jí)所需的兩個(gè)頭 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; # 關(guān)鍵告訴后端這是 WebSocket 請(qǐng)求不是普通 HTTP proxy_http_version 1.1; # 后端 Gateway 進(jìn)程地址必須是明文 HTTP非 HTTPS proxy_pass http://127.0.0.1:8282; # 超時(shí)設(shè)置WebSocket 是長(zhǎng)連接不能沿用默認(rèn)的 60s proxy_read_timeout 86400; proxy_send_timeout 86400; # 其他可選優(yōu)化 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }為什么這三行缺一不可proxy_http_version 1.1WebSocket Upgrade 協(xié)議要求 HTTP/1.1HTTP/1.0 不支持。proxy_set_header Upgrade $http_upgrade$http_upgrade是 Nginx 內(nèi)置變量值為客戶端發(fā)來(lái)的Upgrade頭內(nèi)容通常是websocket。如果寫死成websocket當(dāng)客戶端不帶此頭時(shí)會(huì)出錯(cuò)如果省略后端收不到升級(jí)指令。proxy_set_header Connection upgradeConnection: upgrade是 HTTP/1.1 協(xié)議規(guī)定的升級(jí)觸發(fā)頭必須原樣傳遞。常見錯(cuò)誤與排查忘記proxy_buffering offGatewayWorker 發(fā)送大消息如初始同步數(shù)據(jù)時(shí)Nginx 緩沖區(qū)滿會(huì)導(dǎo)致連接被靜默關(guān)閉?,F(xiàn)象是客戶端能連上但收不到第一條消息。tail -f /var/log/nginx/error.log會(huì)看到upstream sent too big header類似錯(cuò)誤。proxy_pass寫成https://proxy_pass https://127.0.0.1:8282是致命錯(cuò)誤。Gateway 進(jìn)程監(jiān)聽的是明文端口Nginx 會(huì)嘗試用 HTTPS 去連它必然失敗。必須是http://。proxy_read_timeout過(guò)短設(shè)為 60 秒是常見錯(cuò)誤。WebSocket 連接空閑時(shí)Nginx 會(huì)在 60 秒后主動(dòng)斷開導(dǎo)致客戶端頻繁重連。設(shè)為8640024 小時(shí)是穩(wěn)妥選擇實(shí)際超時(shí)由 Gateway 的心跳機(jī)制控制。3.3 GatewayWorker 配置gateway.php中的 4 個(gè)核心參數(shù)GatewayWorker 的配置文件Applications/YourApp/Config/gateway.php是第二道防線。這里不需要開 SSL但必須確保與 Nginx 的通信方式完全匹配。return [ gateway [ class \GatewayWorker\Gateway, transport tcp, // 必須是 tcp不是 ssl ip 127.0.0.1, port 8282, count 4, lan_ip 127.0.0.1, start_port 2900, ping_interval 30, ping_not_response_limit 0, ping_data {type:ping}, // 關(guān)鍵必須為 false表示不啟用內(nèi)置 SSL ssl false, // 關(guān)鍵必須與 Nginx 的 proxy_pass 地址一致 registerAddress 127.0.0.1:1238, ], businessWorker [ class \GatewayWorker\BusinessWorker, count 4, // 關(guān)鍵監(jiān)聽端口必須與 gateway.php 中 registerAddress 的端口一致 registerAddress 127.0.0.1:1238, ], register [ class \GatewayWorker\Register, ip 127.0.0.1, port 1238, ] ];關(guān)鍵參數(shù)詳解transport tcp明確指定傳輸層為 TCP。雖然默認(rèn)就是 TCP但顯式寫出可避免歧義。ssl true時(shí) transport 才是ssl。ssl false再次強(qiáng)調(diào)這是標(biāo)準(zhǔn)架構(gòu)下的鐵律。設(shè)為true會(huì)導(dǎo)致 Gateway 啟動(dòng)時(shí)報(bào)failed to open stream: No such file or directory找不到證書或SSL operation failed with code 1證書格式錯(cuò)誤。registerAddressGateway 和 BusinessWorker 都必須指向同一個(gè) Register 進(jìn)程地址。這是三進(jìn)程通信的“電話總機(jī)”地址不一致會(huì)導(dǎo)致業(yè)務(wù)消息無(wú)法送達(dá)。ping_interval心跳間隔。設(shè)為 30 秒是經(jīng)驗(yàn)值太短增加無(wú)效流量太長(zhǎng)如 120 秒可能導(dǎo)致 Nginxproxy_read_timeout先于心跳觸發(fā)斷連。驗(yàn)證方法啟動(dòng) GatewayWorker 后執(zhí)行netstat -tuln | grep :8282確認(rèn)有tcp6 0 0 *:8282 *:* LISTEN。再執(zhí)行curl -i -N -H Connection: upgrade -H Upgrade: websocket http://127.0.0.1:8282/websocket如果返回HTTP/1.1 101 Switching Protocols說(shuō)明 Gateway 本身 WebSocket 握手正常問題一定出在 Nginx 層。3.4 Swoole 版本與 OpenSSL 支持被忽視的底層依賴GatewayWorker 依賴 Swoole 擴(kuò)展而 Swoole 的 WebSocket 服務(wù)器能力與 OpenSSL 版本強(qiáng)相關(guān)。很多“配置全對(duì)卻連不上”的案例根源在此。Swoole 4.5.0開始支持 TLS 1.3推薦使用 4.8.x 或 5.x 系列。OpenSSL 版本必須 ≥ 1.1.1。Ubuntu 18.04 自帶 OpenSSL 1.1.1但 CentOS 7 默認(rèn)是 1.0.2k不支持 TLS 1.3會(huì)導(dǎo)致 Nginx 與 Gateway 通信異常。驗(yàn)證命令# 查看 Swoole 版本與編譯參數(shù) php --ri swoole | grep -E (Version|OpenSSL) # 查看系統(tǒng) OpenSSL 版本 openssl version # 檢查 Swoole 是否鏈接了正確的 OpenSSL ldd $(php-config --extension-dir)/swoole.so | grep ssl輸出示例正確swoole support enabled Version 5.0.3 OpenSSL OpenSSL 1.1.1w 11 Sep 2023 ...錯(cuò)誤場(chǎng)景與修復(fù)如果php --ri swoole顯示OpenSSL Disabled說(shuō)明編譯 Swoole 時(shí)沒找到 OpenSSL 開發(fā)庫(kù)。Ubuntu 上執(zhí)行sudo apt install libssl-devCentOS 上執(zhí)行sudo yum install openssl-devel然后重新編譯安裝 Swoole。如果OpenSSL版本是1.0.2k必須升級(jí)系統(tǒng) OpenSSL 或更換發(fā)行版。強(qiáng)行用舊版 OpenSSL 會(huì)導(dǎo)致 TLS 握手失敗Nginx 錯(cuò)誤日志出現(xiàn)upstream prematurely closed connection while reading response header from upstream。3.5 客戶端連接 URL協(xié)議、域名、端口的三位一體校驗(yàn)客戶端代碼里的一行new WebSocket(wss://...)是整個(gè)鏈條的發(fā)起點(diǎn)也是最容易寫錯(cuò)的地方。// ? 正確協(xié)議 wss域名與 Nginx server_name 一致路徑與 location 匹配 const ws new WebSocket(wss://your-domain.com/websocket); // ? 錯(cuò)誤1協(xié)議寫成 ws本地調(diào)試可用生產(chǎn)必須 wss const ws new WebSocket(ws://your-domain.com/websocket); // ? 錯(cuò)誤2域名不匹配如用了 IP 或子域名但 Nginx 沒配 server_name const ws new WebSocket(wss://192.168.1.100/websocket); // ? 錯(cuò)誤3路徑不匹配Nginx location 是 /ws客戶端寫了 /websocket const ws new WebSocket(wss://your-domain.com/ws);驗(yàn)證方法在瀏覽器開發(fā)者工具 Network 標(biāo)簽頁(yè)過(guò)濾WS點(diǎn)擊連接看 Initiator 列是否顯示wss://your-domain.com/websocket。如果顯示ws://檢查前端構(gòu)建配置如 Vue CLI 的devServer.proxy或 Webpack 的resolve.alias是否在生產(chǎn)環(huán)境注入了錯(cuò)誤的協(xié)議。3.6 防火墻與安全組云服務(wù)器的隱形攔路虎本地curl能通但線上連不上90% 是防火墻擋的。云服務(wù)器阿里云、騰訊云、AWS的安全組默認(rèn)只放行 80/443而 GatewayWorker 的 8282 端口是內(nèi)部通信端口絕對(duì)不能開放給公網(wǎng)。但很多人誤操作把 8282 加到了安全組白名單結(jié)果 Nginx 無(wú)法訪問本地 8282因?yàn)榱髁勘话踩M規(guī)則攔截了。正確做法Nginx 與 GatewayWorker 在同一臺(tái)機(jī)器無(wú)需開放 8282 端口127.0.0.1訪問走本地回環(huán)不受安全組影響。Nginx 與 GatewayWorker 在不同機(jī)器如 Nginx 在 LBGateway 在應(yīng)用服務(wù)器必須在應(yīng)用服務(wù)器的安全組中僅允許 Nginx 服務(wù)器的內(nèi)網(wǎng) IP 訪問 8282 端口禁止0.0.0.0/0。驗(yàn)證命令在 Nginx 服務(wù)器上執(zhí)行# 測(cè)試能否 telnet 通 Gateway 服務(wù)器的 8282 端口 telnet gateway-server-ip 8282 # 如果不通檢查 Gateway 服務(wù)器防火墻 sudo ufw status verbose # Ubuntu sudo firewall-cmd --list-all # CentOS 8 # 確保有類似 allow 8282/tcp from nginx-ip 的規(guī)則3.7 日志分級(jí)與關(guān)聯(lián)快速定位故障環(huán)節(jié)的黃金法則WSS 故障排查本質(zhì)是日志串聯(lián)。必須養(yǎng)成習(xí)慣一次連接失敗同時(shí)查看三處日志。日志位置查看命令關(guān)鍵線索Nginx error.logsudo tail -f /var/log/nginx/error.logupstream timed out超時(shí)、upstream refused端口拒絕、no live upstreams后端宕機(jī)GatewayWorker logstail -f Applications/YourApp/Logs/gateway-worker.logGateway started啟動(dòng)成功、onConnect連接建立、onClose連接關(guān)閉、SSL handshake failed如果誤啟了 SSL瀏覽器 ConsoleF12 → ConsoleWebSocket connection to wss://... failed客戶端層面、Failed to construct WebSocket: An insecure WebSocket connection may not be initiated from a page loaded over HTTPS協(xié)議混用實(shí)戰(zhàn)技巧在 GatewayWorker 的Events.php中加入詳細(xì)日志public static function onConnect($client_id) { \GatewayWorker\Lib\Gateway::log(Client {$client_id} connected from {$_SERVER[REMOTE_ADDR]}); // 記錄 User-Agent判斷是否是爬蟲或異??蛻舳?\GatewayWorker\Lib\Gateway::log(User-Agent: {$_SERVER[HTTP_USER_AGENT]}); }在 Nginx 配置中添加自定義日志格式記錄 WebSocket 升級(jí)狀態(tài)log_format websocket $remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_upgrade $http_connection; access_log /var/log/nginx/websocket.log websocket;4. 實(shí)操過(guò)程全記錄從零部署一個(gè)可驗(yàn)證的 WSS 服務(wù)現(xiàn)在我們把前面所有知識(shí)點(diǎn)串起來(lái)走一遍完整的、可立即復(fù)現(xiàn)的部署流程。以下步驟基于 Ubuntu 22.04 PHP 8.1 Swoole 5.0.3 Nginx 1.18 環(huán)境所有命令均可復(fù)制粘貼執(zhí)行。4.1 環(huán)境準(zhǔn)備安裝基礎(chǔ)依賴與 Swoole# 更新系統(tǒng) sudo apt update sudo apt upgrade -y # 安裝 PHP 及常用擴(kuò)展 sudo apt install -y php8.1-cli php8.1-mbstring php8.1-curl php8.1-xml php8.1-zip # 安裝 OpenSSL 開發(fā)庫(kù)編譯 Swoole 必需 sudo apt install -y libssl-dev # 安裝 Composer curl -sS https://getcomposer.org/installer | sudo php -- --install-dir/usr/local/bin --filenamecomposer # 安裝 Swoole推薦 PECL自動(dòng)處理依賴 sudo pecl install swoole # 安裝過(guò)程中如果提示 Enable OpenSSL support? [no] :輸入 yes 并回車 # 啟用 Swoole 擴(kuò)展 echo extensionswoole.so | sudo tee /etc/php/8.1/cli/conf.d/20-swoole.ini echo extensionswoole.so | sudo tee /etc/php/8.1/fpm/conf.d/20-swoole.ini # 重啟 PHP-FPM sudo systemctl restart php8.1-fpm驗(yàn)證 Swoolephp --ri swoole | grep -E (Version|OpenSSL) # 輸出應(yīng)包含 Version 5.0.3 和 OpenSSL OpenSSL 1.1.1w4.2 下載并初始化 GatewayWorker 項(xiàng)目# 創(chuàng)建項(xiàng)目目錄 mkdir -p /var/www/gateway-demo cd /var/www/gateway-demo # 使用 Composer 創(chuàng)建 GatewayWorker 項(xiàng)目官方推薦方式 composer create-project workerman/gatewayworker:4.1.0 . # 初始化應(yīng)用結(jié)構(gòu) php start.php start -d # 此時(shí)應(yīng)看到 Gateway start success但這是臨時(shí)啟動(dòng)我們馬上要配置 # 停止臨時(shí)服務(wù) php start.php stop4.3 配置 Nginx生成可直接使用的 server 塊創(chuàng)建/etc/nginx/sites-available/gateway-demoupstream gateway_backend { server 127.0.0.1:8282; } server { listen 80; server_name gateway-demo.local; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name gateway-demo.local; # 為本地測(cè)試生成自簽名證書生產(chǎn)環(huán)境請(qǐng)用 Lets Encrypt ssl_certificate /etc/nginx/ssl/gateway-demo.local.crt; ssl_certificate_key /etc/nginx/ssl/gateway-demo.local.key; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256; ssl_prefer_server_ciphers off; # WebSocket 專用 location location /websocket { proxy_buffering off; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_pass http://gateway_backend; proxy_read_timeout 86400; proxy_send_timeout 86400; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 其他靜態(tài)資源 root /var/www/gateway-demo/Web; index index.html; }生成自簽名證書僅用于本地測(cè)試sudo mkdir -p /etc/nginx/ssl sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout /etc/nginx/ssl/gateway-demo.local.key \ -out /etc/nginx/ssl/gateway-demo.local.crt \ -subj /CCN/STBeijing/LBeijing/ODemo/CNgateway-demo.local啟用站點(diǎn)sudo ln -sf /etc/nginx/sites-available/gateway-demo /etc/nginx/sites-enabled/ sudo nginx -t sudo systemctl reload nginx4.4 配置 GatewayWorker修改gateway.php與start.php編輯/var/www/gateway-demo/Applications/GatewayDemo/Config/gateway.phpreturn [ gateway [ class \GatewayWorker\Gateway, transport tcp, ip 127.0.0.1, port 8282, count 2, lan_ip 127.0.0.1, start_port 2900, ping_interval 30, ping_not_response_limit 0, ping_data {type:ping}, // 關(guān)鍵必須為 false ssl false, registerAddress 127.0.0.1:1238, ], businessWorker [ class \GatewayWorker\BusinessWorker, count 2, registerAddress 127.0.0.1:1238, ], register [ class \GatewayWorker\Register, ip 127.0.0.1, port 1238, ] ];編輯/var/www/gateway-demo/start.php確保use GatewayWorker\Autoloader;在頂部并在start()函數(shù)前添加// 設(shè)置時(shí)區(qū)避免日志時(shí)間錯(cuò)亂 date_default_timezone_set(Asia/Shanghai);4.5 啟動(dòng)服務(wù)并驗(yàn)證連接# 啟動(dòng) GatewayWorker守護(hù)進(jìn)程模式 cd /var/www/gateway-demo php start.php start -d # 查看進(jìn)程是否運(yùn)行 ps aux | grep GatewayWorker # 查看 Gateway 日志 tail -f /var/www/gateway-demo/Applications/GatewayDemo/Logs/gateway-worker.log # 應(yīng)看到 Gateway started 和 Register started # 測(cè)試 Nginx 到 Gateway 的連通性在服務(wù)器本地執(zhí)行 curl -i -N -H Connection: upgrade -H Upgrade: websocket http://127.0.0.1:8282/websocket # 應(yīng)返回 HTTP/1.1 101 Switching Protocols # 測(cè)試 WSS 連接在另一臺(tái)機(jī)器或?yàn)g覽器中 # 訪問 https://gateway-demo.local打開開發(fā)者工具 Console執(zhí)行 # const ws new WebSocket(wss://gateway-demo.local/websocket); # ws.onopen () console.log(Connected!); # ws.onerror (e) console.error(Error:, e);如果瀏覽器報(bào)錯(cuò)ERR_CONNECTION_REFUSED檢查sudo netstat -tuln | grep :8282確認(rèn) Gateway 進(jìn)程在監(jiān)聽。檢查sudo nginx -t確認(rèn) Nginx 配置語(yǔ)法正確。檢查/var/log/nginx/error.log看是否有connect() failed (111: Connection refused)說(shuō)明 Nginx 連不上 8282。如果瀏覽器報(bào)錯(cuò)ERR_SSL_PROTOCOL_ERROR檢查curl -I https://gateway-demo.local確認(rèn) HTTPS 基礎(chǔ)服務(wù)正常。檢查證書路徑是否正確ls -l /etc/nginx/ssl/看文件是否存在。4.6 前端驗(yàn)證頁(yè)面一個(gè)最小可運(yùn)行的 HTML在/var/www/gateway-demo/Web/index.html中寫入!DOCTYPE html html head titleGatewayWorker WSS Test/title /head body h1GatewayWorker WSS 連接測(cè)試/h1 div idstatus等待連接.../div button onclickconnect()連接/button button onclicksend() disabled idsendBtn發(fā)送消息/button divtextarea idmsg rows2 cols50Hello from browser!/textarea/div script let ws; function connect() { const url wss://gateway-demo.local/websocket; ws new WebSocket(url); ws.onopen function() { document.getElementById(status).innerText ? 已連接; document.getElementById(sendBtn).disabled false; }; ws.onmessage function(event) { console.log(收到:, event.data); document.getElementById(status).innerText 收到: event.data; }; ws.onclose function() { document.getElementById(status).innerText ? 連接已關(guān)閉; document.getElementById(sendBtn).disabled true; }; ws.onerror function(error) { console.error(WebSocket 錯(cuò)誤:, error); document.getElementById(status).innerText ? 連接錯(cuò)誤: error; }; } function send() { const msg document.getElementById(msg).value; if (ws ws.readyState WebSocket.OPEN) { ws.send(msg); document.getElementById(status).innerText 已發(fā)送: msg; } } /script /body /html訪問https://gateway-demo.local點(diǎn)擊“連接”即可看到實(shí)時(shí)連接狀態(tài)和消息收發(fā)。5. 常見問題與排查技巧實(shí)錄那些讓你抓狂的“幽靈錯(cuò)誤”在多個(gè)項(xiàng)目的 WSS 部署中我整理出一份高頻問題速查表。這些問題往往沒有明確報(bào)錯(cuò)或者報(bào)錯(cuò)信息極具誤導(dǎo)性必須結(jié)合上下文才能定位。5.1 問題速查表癥狀、原因、驗(yàn)證命令、修復(fù)方案癥狀可能原因驗(yàn)證命令修復(fù)方案瀏覽器控制臺(tái)報(bào)net::ERR_CONNECTION_CLOSEDNginx error.log 為空Nginx 的proxy_pass指向了錯(cuò)誤的端口如 2121 而非 8282或 Gateway 進(jìn)程未啟動(dòng)sudo netstat -tuln | grep :8282curl -i http://127.0.0.1:8282/websocket確認(rèn)gateway.php中port與 Nginxproxy_pass端口一致執(zhí)行php start.php start -d啟動(dòng) Gateway連接能建立但 30 秒后自動(dòng)斷開onClose日志頻繁出現(xiàn)Nginxproxy_read_timeout過(guò)短或 Gatewayping_interval與 Nginx timeout 不匹配grep proxy_read_timeout /etc/nginx/sites-available/*grep ping_interval /var/www/gateway-demo/Applications/*/Config/gateway.php將 Nginxproxy_read_timeout設(shè)為86400Gatewayping_interval設(shè)為30確保 Nginx timeout 3 × ping_intervalNginx error.log 報(bào)upstream prematurely closed connectionGatewayWorker 進(jìn)程崩潰退出或 Swoole 版本與 OpenSSL 不兼容sudo systemctl status php8.1-fpmphp --ri swoole | grep OpenSSL升級(jí) Swoole 至 5.x確保 OpenSSL ≥ 1.1.1檢查 Gateway 日志是否有 Segmentation fault
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
伊人久久大香蕉线AV五月天| 青青草乱入乱欲视频在线观看| 国产吹潮女在线观看| 国模精品一区二区三区苹果色戒| 青草精品视频-日本久久久久网站| 性站 | 国产大学生口爆吞精合集| 久久香蕉国产线看观看亚洲女人 | 综合伊人激情| 99re9| 伊人在线大香蕉视频久久| 日日日日日| 操逼操逼逼操操逼91 | 国产精品老师| 国产欧美一级在线观看| 日本孕妇一区二区视频操逼免费看| 久久久一区二区三区麻豆| 丝袜无码a片| 久久久久久久极品香蕉视频| 俺去也婷婷| 国产操逼逼网| AV网站高清无码在线观看| 精品人妻一区二区三区在| 久久久久国产精品人妻aⅴ天堂| 欧美淫穴| 久久人妻办公室视频| 亚洲日韩成人性爱视频| 免费一级视频特黄色大片| 人妻丰满熟妇一区二区三| 欧州91高潮| 亚洲人妻爽爽爽| 啊啊啊啊啊啊啊啊要喷了| 亚洲一区二区三区麻豆传媒| 亚洲人精| 偷拍片久久| 国产亚洲色婷婷99精品91| 大香蕉欧美伊| 后入式视频国产自| 日本在线999| 亚拍在线| 五月天日日操夜夜操| 欧美在线综合| 91欧美www| 久久99久久99精品天美传媒棢·纸:. | 亚洲狼狼干综合1| 4141514逼喷水三级片| 99热免费| 蜜臀久久在线视频| 99热在线只有精品| 91在线免费精品视频| 欧美爱爱97| 亚洲性网| 精品九九国产无码| 亚洲色图亚洲无码强奸乱伦| 性吧在线视频| 操一区| 97精品网站| 91少妇高潮| 一起草视频在线| 69久久| 人妻三级在线中文字幕| 中文字幕黄色片| 91丨九色丨大屁股| 91天堂视频| SUV一区二区在线看| 亚洲第一视频 欧美风情 日韩| 好湿好紧视频| 天天色黄色影院天天操| 丁香六月啪啪| 91久久久老司机| 欧美桃色网| 精品午夜福利导航| 在线国产福利网址导航| 五月天婷婷成人网| 69久久| 国产精品久久久久无码Av网曝门| 激情五月天综合网| 亚洲黄a三级三级三级看三级| 久久9999 | 国产成人资源| 青青伊人久久| 亚州AV无码国产精品| 一色网男人的天堂| 97国产精品久久久久| 91熟女网| 亚洲国产成人精品无码专区| 97天天爽| 91老司机视频| 人人妻人人狠人人| 久久綜合很很很| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 久久久不卡| 大香蕉www.超碰| 亚洲激情在线| 色噜噜狠狠色综无码久久| 国产JDAV无码视频在线观看| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 天堂v无码免费视频| www网站黄| 久久一二三四不卡 | 久久久精品91八戒| 116美女午夜| 天天日天天看| 狠狠干,狠狠操| 久久久久久裸体| 日韩黄色av中文字幕| 欧美日韩人人精品| 日本操逼视频在线| 久久的网站啊啊啊啊啊| 国产精品视频麻豆入口| 久久精品亚洲东京热色播| 91情色在线| 成人性爱高清视频免费看| 精品美女少妇一区二区三区| 精品久久久久久AV无码| 蜜桃不卡一区二区| 亚洲精品xxx| 亚洲狼狼干综合1| 快播久久人人aV| 亚洲欧美在线观看2021| 天综合网欧美| 国产毛片在线| 极品色综合| 九九碰九九爱97超| 日韩99神马视频播放片在线播放| 亚洲男人电影天堂| 久久婷婷国产一区二区色| 78精品在线| 综合操逼| 天天综合网合集91| 在线观看精品国产免费| 国产后入清纯| 精品中文字幕一区二区l - 百度| 秋霞鲁丝午夜无码一区二区三| 大香蕉99999| 99色色| 啊啊啊久久| 97在线精品| 国产精品伦理| 熟女丰满人妻一区| 啊啊啊啊网站| 亚洲综合有玛| 强奸乱伦动态污图免费| 精品少妇99| 91久久婷婷| 91在线观看,天天综合| 久久夜黄色无码A级大片| 97频视在线| 欧美一区二区观看在线| 青青青在线高清视频在线一二三四区| 淫淫总合网| 亚洲不卡三级手机播放| 亚洲综合图色在线| 亚洲综合中文字幕有码| 精品免费囯产一区二区三区| 欧美天天插| 精品人妻一区二区三区在| 欧美一二三区四五区| 欧美老妇曰批的视频| 九久久精品| 天天插天天射| 成人小说视频在线精品欧美| 91无摭挡| 久久国产精品一级二级三级| 国产精品原创巨作?v网站| 99999这里都精品| 国产无马av| 免费在线看黄片av| 九七毛片九九毛片| 久久久九九九九| 激情五月综合网| 97超碰人人模人人拍人人| 东北女人被操| 午夜人妻精品综合在线| 成人自拍三级在线观看| 美女性91| 欧美极品色| 美国美女AV在线| 琪琪精品免费一区二区三区| 情色五月天就去干| 9999亚洲精品| 日韩美女久久一区二区三区| 久久久国产成人一区二区三区在线| 91中文字幕制服丝袜免费视频| 欧美无圣光在线| 亚洲综合婷婷| 新久久AV| 三级AV入口| 欧美亚洲首页| 日韩电影免费网站麻豆视频| 日韩中文字幕熟妇人妻| 欧美日不卡| 麻豆国产免费影片| 911av网站免费观看| 91精品网站| 中文精品少妇天堂| 久久最新视频免费观看| 97在线欧洲| 极品色社| 色婷婷五月综合| 国产精品视频一区二区三区八戒| 操逼视频免费日韩无码| 国产一区二区三三视频| 97爱爱爱| 大香蕉欧美| 黑人在线91| 后入综合久久| 国产精品69久久久久孕妇欧美 | 国内毛片热久久思思热| 亚洲国产综合图区中文字幕| 91N综合网| 夜夜国自区| 十八禁一区二区无码观看| 亚洲精品国产AV天美传媒| 91 亚洲 欧洲| 人妻少妇一区二区| 亚洲成人一二三区| 红桃视频高潮| 亚州熟妇精品| 欧美啪啪天堂| 亚洲中字幕日本一区二区三区| 91性情| 欧美黑人熟妇精品91| 久久9久久| 青青草大香蕉视频| 91美女片在线| 日本中文熟女视频| 国产一区二区三区免费视频在性观看| 欧美中文字幕日韩在线| 欧美精品一区二区少妇免费A片| 亚洲欧美日韩不卡人妻| 日韩有码 一区二区三区| 国内毛片热久久思思热| 18禁精品网站在线看| 国产日韩在线播放av| 亚洲性爱免费电影| 强奸a片网| 五月丁香婷婷综合网| 99热网站| 久久伊人网视频一区二区三区 | 女欧美一区二三区| 黄色电影在线播放综合网站| 日本性爱不卡视频| 中文字幕黑人大片| 欧美综合第一| 极品一区二区三区免费| 在线播放成人高清免费视频| 亚洲一曲日韩精品| 日本福利二区视频| 六月婷婷一区二区三区| 秘书高跟黑色丝袜国产91在线| 国产精品农村妇女精品| 国产强奸无码乱伦| 日本一区二区不卡精品| 久久一二三四不卡| 秋霞Av理论一级在线| 欧美A片中文字幕| 操B在线观看| 91成人精品在线播放| 性色一线| 极品色社| 91九色精品熟女内射| 日韩激情啪啪啪| 一二三四免费视频| 色网在线| 久草精品国产99| 中文字幕亚洲热播人妻| 九九热免费国产视频婷婷伊人五月| 国产嫩草精品A88AV在线| 日本久久999| 亚洲欧美天堂| 91人妻PORNY九色大屁股| 亚洲一二三精品久久网| 东方亚洲在线操逼天堂| 免费国产视频| 无码视频黄色网战| 91美女在线视频| 人妻少妇精品久久久久久| 国产精品视频自拍在线| 97超级久久强资源| 久久久久久久久久久精| 国产精品一区av在线| 好吊色在线观看| 一级免费精品| 亚欧成人综合影院| 天天舔天天日天天射| 激情小说亚洲| 国产 无码 一区二区| 蜜臀99999| 69天堂| 香蕉人人操tv| 久久超碰av在线| 黑人娇小av在线播放| 第一高清av中文字幕| 天天摸天天舔天天操| av中亚| 亚洲无码99| 中文欧丝袜诱惑| 久久久一区二区三区三州| 亚洲熟妇极品| 国产精品精品系列在线观看| 伊人天堂在线| 嗯嗯啊啊好爽| 热久久精品| 超碰97久久| av天堂影视中文在字幕在线中文 | 亚洲熟女综合网| 入口操逼网站| 91美女视频。| 色优久久| 国产精品久久久久久久久久久久久久吹 | 思思热在线视频在线| 国产精品一区二区在钱播放| 69一区二区三区| 99色综合| 日韩黄色片子| 小草av不卡亚洲二区| 波多野结衣一级视频| 超碰97色色| 另类小说综合网| 亚洲男人的天堂在线看| 四虎影视永久在线免费| 校园春色宗合网| 日韩精品永久在线观看| 加勒比综合a∨| 九九aV| 男人天堂新在线| 亚洲综合在线视频| 家庭乱伦国产精品| 91艹逼精品| 亚洲中文国际强奸字幕| 夜夜嗨TV| 不卡超碰护士AV在线免费播放| 好爽视频在线观看视频| 精品9区| 亚洲无码99| TS人妖另类精品视频系列 | 精品丰满熟妇人妻一区| 淫色网综合| 亚欧成人综合影院| 国产精品乱码久久| 久久国产对白激情浪潮| 亚洲成人av电影在线| 九九热视频这里只有精品| 激情四射五月天| 熟女五十路一区二区三| 大香蕉中文在线| 99国产人成精品| AV在线性爱| 五月天AV资源| 国产日韩人人| 操B久久| 99精品热| 伊人五月天激情| 亚洲综合欧美| 97超碰超碰| 中文字幕视频免费| 欧美亚男人的天堂| 色五月网址| 亚洲91色| 97超级久久| 一区二区视频你懂的| 殴美牲| 牛牛aV| 国产亚洲色停停久久99精品91| 后入式视频国产自| 精品国产一区二区三区久久久蜜臀 | 欧中日成人免费影视| 亚洲欧美精品福利在线| 黄片无码在线制服| 操久久久久久| 激情综合网五月婷婷五月天| 色婷婷一区二区三区久久| 久久女女| 9 1超碰九色| 美女毛片999| 97亚洲综合电影| 99自拍视频在线| 亚洲1区2区三区高清中文字幕| 97啪啪| 超碰9 7女人| 日日碰视频网| 日韩不卡一二三四| 亭亭在线资源| 啊嗯嗯啊好大好爽| 舔舔啊| 91丝袜美腿片| 激情综合网激情五月天| www.91人妻.com| 麻豆国产精品午夜视频| 亚洲毛片基地专区| 久久中文字幕不卡人妻| 韩国免费播放一级毛片| 国产亚洲精品A在线观看下载| 久操国产在线| 999综合网| 小说区 图片区色 综合区| 综合色好色| 熟女熟妇伦久久影院毛片一区二区| 超碰是碰在线观看| 天天影视91看看| 97视频一区| 欧美综合综合| 东北熟女91| 91欧美在线| 97免费在线观看| 国产女s强制榨精视频| 强被迫伦姧在线观看无码网站| 神马久久久久久久| 国产精品视频内谢女人| 伊人五月天婷婷| 免费在线观看国内色片网站网址| 秋霞视频一区二区| 另类小色呦| 亚洲天堂电影精品一区| 91成人国产综合久久精品蜜月| 麻豆天美制片厂网站视频| 中 文字幕一区二区三四 五 区日 日 骚 | 一区二区视频你懂的| 色妇91| 超碰导航97| 亚洲天天操| 人人做天天爱| 蜜臀少妇一区二区| 激情欧美日韩女同久久| 老鸭窝日丰县女人| 久久永久无码人妻视频| 亚洲啪啪视频一区二区| 久久精品国产精品亚洲艾通辽熟妇 | 新怡红院| 亚洲宅男天堂| 亚洲第一页欧美| 九九av| 天天日天天干天天操| 日本人妻中文字幕 | 国产成年女黄特黄| 激情五月综合开心五月| 欧美黄片视频在线观看免费| 久久成年精品| 成人国产二区三区在线,男女精品。| 成人五月天丁香激情综合| 一区操逼日比视频| 蜜桃成人1区2区3区| 久久久精品一区二区| 麻豆 美女 丝袜 人妻 中文| 欧美精品日韩久久久九| 久久精品人体| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 啊啊啊好疼| 国产高清自拍| 98一区二区精品| 伊人四虎综合| 午夜.DJ高清在线观看免费7| 91亚州日韩高清| 亚洲97网站| 中文字幕高清精品一区| 能看的av| 国产精品农村妇女| 亚欧性爱在线无码| 欧美韩国你懂得在线 | 搡老女人老熟女91| 超碰免费人人| 日韩少妇无吗| 手机在线视频国内精品| 97精品视频免费| 日日爱99| 狠狠中文字幕| 欧美色图91| AV电影在线播放| 久久熟女嫩草成人片免费| 人人操人人插人人摸人人干| 色好看av| 一级AV性爱| 九久9热| 特色a在线上| h在线看免费版在线看| 91综合天天| 麻豆啪啪啪视频| 欧美一区二区三区成人性生活 | 激情视频一二三| 岛国福利在线精品播放| 精品视频97| 婷婷操视频| 九九九九九九亚洲| 蜜臀久久99精品久久久久久-DVD原版全| 五月激情视频| 午夜小电影在线插入淫高潮| 青娱乐 成人娱乐在线| 91宗合网| www.操| 免费视频在线一区二区不卡| 操香逼| 久久六六| 伊人久久国产免费观看视频| 日韩性爱小视频| 婷婷三区| 久久国产熟女影院| 啊啊啊不要啊啊受不了了视频在线 | 国产高清成人传媒影视| 91热热色| 婷婷五月天色色| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 美女十八禁| 五月天色五月| 超碰日韩人妻| 日本熟妇自慰性高潮一区二区三区| 乱伦AVxx| 久久加勒比| 嫩草影院永久在线制服丝袜| 国精精品无码一二三区水多多| 美国三级日本三级久久99| 久久婷婷热| 视频一区二区免费在线| 2026国产精品视频| 婷婷五月天伊人| 国产精品久久天天干| 男人的天堂在线| 涩五月婷婷| 26uuu最新| 青操影院| 顶级少妇BT天堂| 色五天伊人| 东京热,男人的天堂| 天天香香欲综合| 日本一级二级三级网站| 色激情综合网站| 试看60秒| 欧美 中文字幕 一区| 成人免费福利在线观看| 丁香婷婷五月| 亚洲第一视频 欧美风情 日韩| 啊啊啊啊啊在线观看网址 | 亚洲精美粉嫩嫩泬在线观看| 91bbbbbb| 青青三级视频| 看黑丝美女操逼青青网站| 人人干人人操人人..com| 自拍偷拍第26| 精品久9| 蜜臀无码一区二区| 色女99一级片在线观看| 色丁香五月婷婷| 丰满人妻一区二区三区四区| 熟女91网| 日本精品一区二区三| 亚洲色图欧美色图制服丝袜| 可以看的av| 中文字幕乱在线伦视频中文字幕乱码在线 | 日本中文字幕在线视频| 搞中出久久| 国产h小视频在线观看免费| 亚欧美色图| 日韩天天本| 欧美日韩亚洲天堂网| 国产精品在线一区二区| 91网亚洲| 色鬼在线综合| 中文字幕亚洲欧美在线不卡| 日韩精品一区的| 激情五月天色色网| 人人看人人摸人人色| 影视综合无码少妇| 国产三级在线现体验区| 国产高清自拍视频| 大肥女高潮bbwbbwhd视频| 三上悠亚在线毛片91| 91欧美www| 日韩日韩日韩-国产乱码精品一区二区| 欧美天堂第二区| 日本人妻天堂网站在线播放| 综合网欧| 精品96久久| 亚熟hd视频在线| 久久久国产精品人妻丝袜| 国产精品制服丝袜中文字幕日韩一区二区三区 | 91人精品妻入口| 婷婷干黄色| 亚洲精品国语在线播放| 国产91av在线播放| 亚洲 日韩 丝袜 熟女 变态| www.99中文字幕| 太久视频| 九色婷婷| 久久久98网站免费视频| 少妇国产不卡| 九九人妻| 97亚洲中文| 青春草莓视频在线观看网址| 青青操网| 亚洲av综合色区无码一| 无码国产精品午夜不卡(| 97九色人妻| 精品无吗久久| 超碰1997| 欧美se综合| 中文一区二区三区影院| 91视频综合网| 日本在线不卡v二区| 三级片网站在线播放| 色五月婷婷网| 啊啊啊在线观看免费视频| 智利AV在线网| 色噜噜人妻av中文字幕| 少妇熟女1区2区3区| 日本 色 导航| 亚洲综合五月天婷婷丁香| 香一区二区三区| 成人久久精品| 亚洲国产97在线精品一区| 在线综合网| 黄片com.| 中文字幕制服欧美久久一区| 欧美最大综合网| 日日爱99| 日本三级日本三级99| 日韩三级网址| 中文字幕日韩情色| 亚洲性爱乱操x| 9999久久久久| 欧亚不卡| 久久久久久性爱免费视频| 国产成人精品必看 | 97国产超碰| 久草视频观看视频在线| 熟妇在线视频一区二区| 美女让帅哥通她小鸡鸡| 超碰在线人人射| 欧美黄色大香蕉一区二区| 欧美日韩大陆黑人少妇99| 天天综合网在线91| 欧美日韩香蕉| 天美欧美国产| 国产免费永久精品无码| 丁香五月天久久精品视频一区二区三区| 久热精品在线| 欧美一区二区观看在线| 中文字幕日韩精品一区二区三区| 97超碰大| 国内精品伊人久久久久影院会| 不卡一区视频| 人妻二区| 亚洲男人天堂2012| 精品国产Av无码久久久伦古装| 国产男女无套视频免费观看| 美女网站黄页| 国产精品欧美日韩久久| 九九夜精品九九在线| 免费操逼91| 91操操| 免费成人在线熟妇网| 日韩国产不卡在线视频| 久久久久亚洲精品| 色黄污美女啪啪啪免费网站| 精品一区96| 91精品国产综合久久久蜜臀酒店| 欧美视频在线第3页| 成人区人妻精品一| 日韩九区| 亚洲欧洲日韩中文字幕一区| www.人人cao| 啊啊啊啊免费视频| 色色色综合网| 熟妇色99| 九九热精品免费视频| 亚洲成人贴图| 2017大香蕉国产精品久久| 欧美人人曰人人操人人射射| baiduhicn.com。| 日韩在线一区二区| 欧美日韩亚洲国产中文永久天天看| 熟女露脸激情自拍视频| 精品在线观看视频在线| 91精品国产91久久久久久久久久久久| 日韩性爱高清免费视频| 亚洲性高潮| 91人妻超碰| 久草视频观看视频在线| 欧美性综合| 蜜乳AV色欲AVAV无码| 亚洲欧洲日韩中文字幕一区| 最新欧洲欧美日本激情网站| 久久春色| 神马久久久久久久久久| 国产午夜无码片在线观看影视| 国产91丝袜在线播放蜜月| 成人性爱电影一区二区| 久草午夜| 欧美青青草视频| 激情五月天丁香| aaa亚无码专区| 中文字幕AV片| 亚洲欧美国产日本一区二区三区| 视频国产欧美在线播放| 久久久专区| 国内三级自拍小视频在线观看| 欧美97在线欧| 狠色婷婷久久一区二区三区_| 99久久99久久综合| 手机在线A片| 国产精品日日摸天天碰| 日日天天久久啊啊aaa| 亚洲暴力强奸AV| 国产精品免费久久久久久久久久| 爱爱久久| 亚洲春色激情小说| 国产 亚洲 丝袜 制服| 91高清欧美| 亚洲综合在线高清| 制服乱伦| 人妻一二三区| 久草这里只有精品 | 久久xx| 18啪啪手机免费性爱| 亚洲蜜臀精品视频久久| 精品久久九| 日本久久久久久久久| 丰满人妻无码一区二区三区| 欧美亚洲手机在线| 骚逼自拍99| 99色骚| 91肏屄网| 超碰精品在线| japan日本高清乱xxxx| 一二三区操逼国产91| 中文字幕AV中出| 亚洲啪啪啪啪视香蕉| 久久久久9久久久久| 1769精品一区二区三区| 人人干黄色| 精品九九| 欧美96精品在线| 97网色| 蜜桃网熟妇| 天操老女人| 67194无码不卡| 91黑丝露脚| 日本三级久| 九九热九九| 国产一级αv免费看片| 免费自拍三级综合| 日韩情色一区二区| 国产精品一区二区三区在线| 99草精| 国产日韩美女小穴视频网站不卡| 激情小说亚洲视频| 中文字幕AV片| 国产精品不卡一区二区三区| 乱老熟女一区二区三区| 欧美少妇第一页| 白丝1区2区3区| 超碰激情808| 啊啊好多水| 欧美大片天天看| 亚洲中文电影| 乱久久久| 人妻熟女一区二区| 91色图| 91亚洲欧洲| 91五十路| 欧美国产精品久久九九| 夜色91| 亚洲中文字幕在线视频一区二区| 91亚洲综合在线| 久久精品国产亚洲av水密被窝| 夜夜夜爽www精品视频| 91校园春色长篇| 国产色图乱伦| 91老熟妇| 国产日韩区| 操逼操逼逼操操逼91 | 日本男人插女人的逼黄色| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 久久 久久国内精品亚洲| 午夜毛片高清免费不卡| 2017天天操天天日| 91亚洲欧美激情| 毛片一区二区| 亚洲三区视频| 久久6热视频免费观看| 久久婷婷热| 1956日韩精品| 久久m| 蜜臀99久久精品| 操屄日韩| 无码精品蜜桃一区二区三区ww| 福利在线观看一区二区| 91美女视屏| 日本五十路在线| 色网亚洲人| 久久精品人妻一区| 久草视频分类在线| 日韩久久超碰色| 道久久五香丁月婷婷激情综合| 超碰在线日韩一区| 嗯~啊~轻一点 视频| 久久人妻| 国产精品无码av在线 | 97视频在线免费观看| 国产日韩欧美操逼视频| 中文激情网| 97精品中文字幕| 国产97视频| 午夜120视频在线观看| 激情第四色| 精品女同一区| 欧美性生活男人的天堂| 熟女被操视频网址| 97超碰巨乳| 最近二区三区视频大全| 日韩人妻中文视频| 一个人在线看的黄色电影网站| 熟女久久久| 精品国产乱子伦一区二区三区,精品一| 亚洲精品国产无码高清| 亚洲五月丁香花狠狠干一区二区三区| 亚洲国产一级中文综合久久天堂在线免费观看 | 黄色AV影视| 大香蕉青青9| 日本中文字幕不卡视频| 韩国黄色片精品久久久| 亚洲综合97中文网| 加勒比海人人操超碰在线| 国产一区二区a毛片| 97AV爱| 色约约一区=区三区| 手机在线观看不卡无码av| 麻豆AV96熟妇人妻| 日日摸天天爽夜夜欢| 无遮挡h肉动漫在线观看| 日本三级韩国三级美三级91| 综合久久久久久久久91| 91久久久久免| 这里都是精品| 99成人| 精品国产乱码久久久| 96久久精品一二三区色欲| 久操电影网| 男人的天堂欧美| 日本操逼视频免费| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 玖玖爱影院| 澳门成人网站久国产日韩| 天天流夜夜操| 91neishe| 久久久四区| 狠狠色丁香| 97久久国产亚洲精品超碰热| 日韩色| 夜夜综合| 蜜桃久久一区二区三区| 97欧美资源| 夜夜操2028| 78超碰| 欧美极品女人的天堂| 欧美劲爆第一页| 真实高潮91| 日韩av在线精品观看| 东北女人av| AAAA欧美日韩| 亚洲熟久久| a天堂视频| 欧美综合自拍亚洲综合图| 爱av免费| 欧美色图片欧美色图| 99久久婷婷国产综合精品草原| 999色欧美中文字幕| 九九色色| 亲子敌伦对白在线播放| 久久伊人青青草| 91社操逼| 成年在线视频日本亚洲在线视频区精品江靖宇公司| 99av| 国产人妻精品久久久一区二区三区| 日本大香蕉综合网| 翘臀vidoes| 免费αV在线视频| 91爱欧美| 啪啪91| 日本欧美中文字幕| 嗯嗯,好大,好爽,好骚 | 欧美成人精品一区二区三区| AV一起草在线| 97久久国产亚洲精品超碰热| 成人 日韩欧美一区| 亚洲中文字幕熟女| 97超碰精品成| www色婷婷| 欧美一区二区日韩三区| 职场同事知名国产国产精品久久欧美日韩 | 午夜天堂精品久久久久91| 视频不卡中文字幕| 久久熟妇五十路一区| 韩国一级婬片A片AAAAA| 国产400孕妇孕交群| 人妻 欧美 中文| 18禁的网站在线| 高清国产精品福利网站| 亚洲国产青青| 操狠狠| 欧美日韩啪啪电影| 不卡二三区人妻少妇| 香蕉久久精品| 久久一二三四五六七八九区区区| 免费的很黄很污的全部视频| 亚洲人妻日日日| 天美传媒Av在线| 日韩三级视频一区二区三区| 国产真实野战在线视频| 亚洲天堂精品日韩电影| 欧美熟女逼久久久久久| 久久9久9久99久9久9| 色色五月丁香| 隔壁邻居波多野结衣中文字幕| 欧美在线电影| 久久宗合亚洲| 97精品国产手机| 嗯嗯嗯啊啊啊在线免费观看| 日本国产欧美高清在线| 26uuu性物| 操一操摸一摸| 青青草这里只有精品| 九九国产热| 97色涩| 欧美AB在线观看| 伊人99热| 久久久精品91八戒| 美女黄网| 欧美色性情| 51一区二区三区| 91美女国产在线| 超碰中文字幕人妻草一区| 中文字幕一区av| 成人自拍三级在线观看| a级免费在线观看| 日本Suv精品一区二区| 职场同事知名国产国产精品久久欧美日韩| 免费网色网站| 亚洲 欧美 另类 综合 偷拍| 人妻天堂综合网| 久热婷婷| 亚洲精品一区中文字幕乱码| 91久久精品中文字幕| 中文字幕美女91| 亚洲色图A| 啊啊啊好大好深| 欲色综合| 青青草中出视频| 色狠狠一区二区三区香蕉| 偷拍色图| 中国黄色特级精品一区二区三区片| 亚洲色图久久成人| 国产suv精品一区二区四| 久久精品人体| 国产少妇与亚洲av| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日韩国产十八禁| 狠综合网| 啊啊啊啊啊啊啊啊要喷了| 天天干天天中出av| 亭亭丁香激情| 欧美猛交黑寡妇中文字幕| 久久m| 成人精品欧洲亚洲| 啪啪啪男女亚洲中文字幕99| 欧美丝袜亚洲| 91白虎| 亚洲成人贴图| av在线播放国产一区| 被男人添B超爽视频| 琪琪精品免费一区二区三区 | 九九热AV| 91婷婷伊人狠人| 中文字幕少妇色 | 国产诱惑| 天天干夜夜操一区二区| 少妇熟女一区二区三区| 日韩AV噜噜噜一区二区三区四区 | www.男人天堂| 97国产综合欧美| 91久久婷婷| 日韩综合成人免费视频| 青娱乐久久艹| 天天天天干| 啊啊啊啊嗯嗯嗯用力好爽| 69精品人人人人| 天天爱综合网| 国产精品乱码久久久| 一级二级在线观看| 粉嫩不卡一区二区性爱| 久久综合婷婷| 亚洲av热热色| 日本五区不卡| 亚洲一区二区在线观看91| 91影库| 欧美日韩国产高清在线一二三区 | 夜色97| 尤物视频视频官网| xxx0国产在线播放| 亚洲操操| 色五月激情AV在线| 极品另类| 亚洲αv一区二区三区| 久草视频在线视频在线视频在线观看| 国产这里只有精品| 97超级欧美| 亚洲图片小说欧洲| 日本国产高清色www视频在线| 婷婷六月色| 啊啊啊不要好爽日韩无码一区| 亚洲影视综合| 乱伦日本色图AⅤ| 久久久久无码| 九九热午夜欧亚国产视频| 中文字幕后石码三区四区| 激情黄色片在线观看| 五月丁香激情综合网| 丝袜性亚洲| 综合色图,成人综合网| 97久久国产精品| 12一15性XXXX粉嫩国产| 韩国三级理论在线| 久久婷婷五月综合| 亚洲少妇免费视频\| 思思热国产高清| 六月婷婷色综合| 国产精品午夜精品| 国产中文大片资源中文字幕| 蜜臀久久99精品久久久老,,| 日本精品加勒比海一区| 欧美,日韩综合久久| 91精品成人www| 久久久久国产精品久久久| 极品白嫩美女白浆成人福利在线看| 一本正道久久熟女| 久9久9久9久9久9久9| 国产精品爽爽va在线观看98| 精品人妻视频一区二区三区蜜桃视频| 亚洲日本大香蕉1| 国产三级电影免费观看| yy少妇精品久久| 免费av在线播放二区| 啊啊啊好舒服好爽啊啊啊视频| 91亚洲人| 97色婷婷| 99色网| 狂操嫩妻视频一区二区三区| 啊啊啊啊无码| 69超碰综合| 天躁夜夜躁2021| 97综合在线| 蜜臀久久久99久久久久| 国内毛片无码一级毛片| 亚洲在钱| 99久久综合| 欧美的精品的视频| 丁香五月影院| 另类天堂| 麻豆AV一区二区| 国产在线综合网| 九九英色视频| 97在线精品观看视频| 91久久久老司机| 在线看免费无码AV天堂的| 少妇精品久久久八区九区| 午夜精品探花| 色九久| 日韩伦理久 久久 清纯| 韩日色费| 国产熟女自拍| 色欲天天综合网| 伊人网免费视频| 中文字幕人乱码中文字的预防方法 | 婷婷五月天激情小说| 国产精品农村妇女| 亚洲熟妇图片| 欧美日韩性爱无码| 岛国天天午夜影院传媒网| 五月婷婷六月色| 人人看人人插| 九9热伊人| 婷婷伊人綜合中文字幕| 亚洲国产成人精品999| 97碰碰日本乱偷人妻中文的| 黄色电影观看久久9| 四季av一区二区凹凸精品小说| 99热久| 中文字幕三四区| 啊啊啊好疼| 嗯嗯啊啊视频在线看| 久久五月天婷婷丁香中文字幕| 亚洲综合 欧美| 人妻久久久久久久久久久久久久久| 中文字幕一区二区三区字幕| 岛国不卡超碰护士AV在线播放| 毛片电影一区二区三区| 男人的天堂2018| 干B| 婷婷五月花| 天堂中文日本在线观看| 伊色久人大在线| 色五月69夫妻| 亚洲午夜福利视频| 97色网| 哈哈操电影| 亚洲激情天堂网| 120分钟婬片免费看| 欧美日韩国产黄色片| 欧美激情高清性猛交| 久插综合| 色色亚洲| 夜嗨影院| 亚洲成aⅴ人片不卡无码| 99re99在线视频| 污污污8888| 久久嫩草国产成人一区| 亚洲操人| 中国一区二区亚洲人妻| 日本人妻最新在线中| 欧美亚洲韩国视频十五区 | 欧美日韩人妻精品一区二区三区| 欧美日韩人人早| 99精品免费| 成人26uuu| 肏逼视频日本| 一二三区精品视频| 一本一道久久综合久久| 欧美天堂超碰97| 综合色图区| 国产精品熟妇一区二区三| 天天爽天天爽| 近亲乱伦一区二区| 岛国网址国产 | 一级特级aaaa毛片免费观看| 日本人妻最新在线中| 久操免费在线| 久草看看看| 久久国产精品m码| 国产精品另类一区大香蕉| 操逼999| 中文字幕女同在线| 97露脸精品丝袜| 婷婷久久综合| 十八禁视频网站| 久久99人妖视频国产| 东亚亚洲无码高清| 国产精品区在线12p| 亚洲男人的天堂va亚洲男人社| 极品少妇久久久| 精品国产乱码久久久久久免费| 欧美国产操逼| 不卡一区视频| 农村妇女精品一区二区| 75大香蕉| 亚洲高潮少妇| 女同在线视频一区| 亚州成人a∨| 大香蕉 222| 熟女AV一区| 少妇精品久久久| 我中文字幕6区|