小程序中,如果要使用websocket,需要wss协议,则需要在nginx中配置

上代码


user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {
    
    
    server {
        listen       80;
        listen  [::]:80;
        server_name  localhost;
        location / {
           # 映射到nuxt3项目
            proxy_pass http://service_nuxt2:3000; # 内网地址
           # return 403;
        }
    }
    
    server {
        #SSL 访问端口号为 443
        listen 443 ssl; 
        #填写绑定证书的域名
        server_name证书的域名; 
        #证书文件名称
        ssl_certificate xx.crt; 
        #私钥文件名称
        ssl_certificate_key xx.key; 
        ssl_session_timeout 5m;
        #请按照以下协议配置
        ssl_protocols TLSv1.2 TLSv1.3; 
        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
        ssl_prefer_server_ciphers on;
        location / {
           #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
           #例如,您的网站运行目录在/etc/www下,则填写/etc/www。 容器内的路径
           proxy_pass http://service_nuxt2:3000; # 内网地址
        }
        
        # 配置WebSocket (WSS)
        location /ws/ {
            proxy_pass http://xxx;  # 后端WebSocket服务器地址
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            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;
        }
    }
    
}

核心代码

 # 配置WebSocket (WSS)
        location /ws/ {
            proxy_pass http://xxx;  # 后端WebSocket服务器地址
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            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;
        }

 

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐