【Linux】採用nginx反向代理讓websocket 支持 wss

背景:玩swoole 服務 php

使用Nginx反向代理解決wss問題。nginx

即客戶端經過wss協議鏈接 Nginx 而後 Nginx 經過ws協議和server通信。 也就是說Nginx負責通信加解密,Nginx到server是明文的,swoole 服務不用開啓ssl,並且還能隱藏服務器端口和負載均衡(何樂不爲)。服務器

server { # 下面這個部分和你https的配置沒有什麼區別,若是你是 寶塔 或者是 oneinstack 這裏用生成的也是沒有任何問題的
    listen 443; server_name 這裏是你申請的域名; ssl on; # 這裏是你申請域名對應的證書(必定要注意路徑的問題,建議絕對路徑)
    ssl_certificate 你的證書.crt; ssl_certificate_key 你的密匙.key; ssl_session_timeout 5m; ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; ssl_verify_client off; # 下面這個部分其實就是反向代理 若是你是 寶塔 或者是 oneinstack 請把你後續檢查.php相關的 和重寫index.php的部分刪除
    location / { proxy_redirect off; proxy_pass http://127.0.0.1:9501; # 轉發到你本地的9501端口 這裏要根據你的業務狀況填寫 謝謝
        proxy_set_header Host $host; proxy_set_header X-Real_IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr:$remote_port; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade;   # 升級協議頭
 proxy_set_header Connection upgrade; } }

 

重啓nginx swoole

 

服務地址輸入wss://你上面的域名不加端口號session

相關文章
相關標籤/搜索