採用nginx反向代理讓websocket 支援 wss

Lance發表於2020-08-26

客戶端通過wss協議連線 Nginx 然後 Nginx 通過ws協議和server通訊。
Nginx負責通訊加解密,Nginx到server是明文的
作用:swoole 服務不用開啟ssl,隱藏伺服器埠,負載均衡

server {
    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;

    # 反向代理
    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;
    }
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章