【nginx】https站websocket 使用wss 报错?

客户端请求为:

  let protocol = location.protocol === 'https:'

? 'wss://www.domain.com:8180'

: 'ws://www.domain.com:8180';

var ws = new WebSocket(protocol);

本地测试无问题

nginx配置如下:

server {

listen 443 ssl http2;

listen [::]:443 ssl http2;

server_name www.aizhaohui.com; # 你的域名

ssl on;

root /var/www/html; # 前台文件存放文件夹,可改成别的

index index.html index.htm index.nginx-debian.html; # 上面配置的文件夹里面的index.html

ssl_certificate cert/1_www.aizhaohui.com_bundle.crt; # 改成你的证书的名字

ssl_certificate_key cert/2_www.aizhaohui.com.key; # 你的证书的名字

ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

#解决vue刷新404问题

location / {

try_files $uri $uri/ @router;

index index.html;

}

location @router {

rewrite ^.*$ /index.html last;

}

location /wss { # 1websocket配置

proxy_pass http://wscp;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "Upgrade";

}

}

upstream wscp{

server 116.62.220.89:8180;

}

目前问题是 调用报错:
【nginx】https站websocket 使用wss 报错?

回答

你的 nginx 监听的是443端口, 外部连接的却是8180端口, 需要改成一样的.

以上是 【nginx】https站websocket 使用wss 报错? 的全部内容, 来源链接: utcz.com/a/84597.html

回到顶部