当前位置: 首页 > news >正文

cms 学校网站营销公司网站模板

cms 学校网站,营销公司网站模板,网站 自助建站,如何制作一个公司网页1. 前言 项目一些信息需要通过站内信主动推动给用户,使用websocket。web服务器选用nginx,但是域名是以前通过阿里云申请的,解析ip也是阿里云的服务器,甲方不希望更换域名。新的系统需要部署在内网服务器,简单拓扑图如…

1. 前言

项目一些信息需要通过站内信主动推动给用户,使用websocket。web服务器选用nginx,但是域名是以前通过阿里云申请的,解析ip也是阿里云的服务器,甲方不希望更换域名。新的系统需要部署在内网服务器,简单拓扑图如下所示:

在这里插入图片描述

其中第二台服务器运维不在我们这边,nginx反向代理需要经过多级配置,相关软件版本如下:

软件版本描述
centos7操作系统inux发行版本
nginxngx_openresty/1.4.3.6web服务器软件

2. nginx配置代理websocket

nginx转发websocket添加配置如下:

map $http_upgrade $connection_upgrade {default upgrade;'' close;
}proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;## 或者
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

完整nginx server配置如下:

map $http_upgrade $connection_upgrade {default upgrade;'' close;
}
server {listen       80;server_name   www.abc.com;# ws 转发location /websocket {proxy_pass http://xxx.xxx.xxx.xxx; 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_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;}    location / {proxy_set_header  Host  $host;proxy_set_header  X-real-ip $remote_addr;proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;client_max_body_size 500M;proxy_pass http://xxx.xxx.xxx.xxx;}
}
server {listen 443 ssl;#配置HTTPS的默认访问端口为443。#如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。#如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。server_name www.abc.com; #需要将yourdomain替换成证书绑定的域名。proxy_set_header  Host  $host;proxy_set_header  X-Real-Ip $remote_addr;proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;ssl_certificate cert/www.abc.com.pem;         #需要将cert-file-name.pem替换成已上传的证书文件的名称。ssl_certificate_key cert/www.abc.com.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#表示使用的加密套件的类型。ssl_protocols TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。ssl_prefer_server_ciphers on;client_max_body_size 500M;# wss 转发location /websocket {proxy_pass http:http://xxx.xxx.xxx.xxx; 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_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection $connection_upgrade;}location / {proxy_pass http://xxx.xxx.xxx.xxx;}}
  • /websocket是我们的前端websocket的链接路径

  • www.abc.com:可以更换为自己的域名

  • 如果域名走http协议,只需要配置监听80端口;如果需要走https协议,只需要配置监听443端口即可

关于域名,证书,nginx相关知识自行搜索相关内容。

3.多级nginx配置

多级nginx转发,同样每级都需要添加如下三项配置:

map $http_upgrade $connection_upgrade {default upgrade;'' close;
}
# .......
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;## 或者
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

如果任一一级nginx没添加该配置,那么请求就是普通的http或者https请求,容易报错404。

完整配置参考2

4.问题

websocket连接失败常见问题,参考下面链接3;我遇到的问题如下

4.1 内层未配置头信息导致404
  1. 浏览器console报错”wss://www.abc.com/websocket/xxx“ 404,仔细看1中配置,监听443端口,其中有几项配置

             proxy_set_header  Host  $host;proxy_set_header  X-real-ip $remote_addr;proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    

    我在外层和/websocket都有配置

  2. nginx配置生效为就近原则,如果路径配置/websocket那么,响应的/websocket下面配置生效;如果没匹配上,外层的就生效

  3. 当我把/websocket下面这几项配置去掉后,报错404,也就是说这几项配置放在外层没生效,现在我也没搞明白是啥原因?

结语

❓QQ:806797785

⭐️仓库地址:https://gitee.com/gaogzhen

⭐️仓库地址:https://github.com/gaogzhen

[1]websocket多级nginx代理[CP/OL].

[2]解决 This request has been blocked; this endpoint must be available over WSS.[CP/OL].

[3]WebSocket 连接失败的根本原因及解决方法[CP/OL].

[4]nginx转发WebSocket[CP/OL].

http://www.laogonggong.com/news/58621.html

相关文章:

  • 安徽省工程建设信息网网站网站平台搭建技术
  • 青岛网站设计哪家好泰安本地网站
  • 中视频自媒体账号注册下载珠海seo关键词排名
  • 哈尔滨专业做网站建设跨境网站
  • 网站服务器租用技巧无限时间看片直播
  • 石家庄商城网站制作网络营销就业前景怎么样
  • win7做系统网站哪个好一起做玩具网站
  • 如何做自己的影视网站环保类网站模板免费下载
  • 网站的开发与建设项目皮肤科在线医生免费咨询
  • 贵阳58同城做网站新网 网站建立
  • 甘肃网站排名公司西安淘宝网站建设公司
  • 校园二手信息网站建设软件系统定制开发
  • 市总工会网站建设经验材料注册深圳公司流程和费用
  • 建投五公司网站wordpress app 开发
  • 北京网站关键词排名推广中国十大企业
  • 旅游网站对比模板网络电商平台有哪些
  • 建立网站顺序关键词优化系统
  • 怎么通过网路访问自己做的网站服装东莞网站建设
  • 国外网页设计欣赏网站外贸企业邮箱哪个好用
  • 粮食网站建设的背景及意义重庆建设厅官网
  • 网站开发工具发展史汽车之家网站开发方案
  • 网站的制作步骤宜昌最新消息今天
  • 营销的方法和技巧临沂百度seo
  • 做汽配网站需要多少钱免费元素素材网站
  • 淄博网站建设 百度知道做视频网站许可证
  • 推荐个2021能看的网站网页设计叫什么行业
  • 微信小网站怎么做建设通网站登录不进去
  • 快普网站怎么做采购退货国外的自建网站怎么做
  • 网站首页大图轮播苏州设置网站建设
  • 石家庄开发区网站建设服饰营销型网站建设