我的编程空间,编程开发者的网络收藏夹
学习永远不晚

nginx如何配置wss协议

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

nginx如何配置wss协议

这篇文章主要讲解了“nginx如何配置wss协议”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx如何配置wss协议”吧!

需求:nginx配置websocket协议连接,(背景,在一个使用一个免费的仅仅支持单域名的证书时,既要支持https协议,也要支持wss协议时,我们可以配置一个nginx根据不同的路径去跳转

我所使用的是华为云的免费领取的一年的证书(因为仅仅支持单域名所以才要根据域名后的路径做不同的跳转)

nginx如何配置wss协议

项目的接口在内部为127.0.0.1:8888/request/play
也就是本地通过 ws://localhost:28888 进行socket连接,当然因为使用域名wss,所以此处需要放到服务器 ws://你的服务器ip:8888/request/play (这样访问的前提是将8888加入开放端口)

在有证书的前提下上传证书到服务器

nginx如何配置wss协议

首先设置二级域名解析

nginx如何配置wss协议

nginx如何配置wss协议

nginx如何配置wss协议

nginx如何配置wss协议

注意注册证书时,一定要和解析的子域名相对应

#user  nobody;worker_processes  1;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {client_max_body_size 200m;# 配置上传文件大小最大为200m    include       mime.types;    default_type  application/octet-stream;    sendfile        on;   server {    # 监听443端口(https 和wss都是使用的默认端口443)    listen 443 ssl;    # 你的域名(就是你解析后的域名与证书申请时域名保持一致)    server_name  game-test2.pro-lwwl2.com;        #ssl 证书的pem文件路径    # ssl证书的pem文件路径    ssl_certificate  /usr/local/nginx/ssl/scsgame.crt;    # ssl证书的key文件路径    ssl_certificate_key /usr/local/nginx/ssl/scsserver.key;    ssl_session_timeout 5m;    ssl_protocols TLSv1.2 TLSv1.3;    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;    ssl_prefer_server_ciphers on;   #################################   # 此处是我配置的vue上传部署到服务器时,解决首页加载缓慢问题而设置的可以参考   # https://www.cnblogs.com/libaiyun/p/16462470.html    #开启gzip     gzip on;     # 启用gzip压缩的最小文件,小于设置值的文件将不会压缩     gzip_min_length 1k;     # 设置压缩所需要的缓冲区大小     gzip_buffers 16 64k;     # 设置gzip压缩针对的HTTP协议版本     gzip_http_version 1.1;     #  gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间     gzip_comp_level 9;        gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/x-httpd-php image/jpeg image/gif image/png;       # 是否在http header中添加Vary: Accept-Encoding,建议开启      gzip_vary on;      # 禁用IE6 gzip          gzip_disable "MSIE [1-6]\.";######################################## 日志输出路径        access_log  /home/server/vue_admin/logs/access.log;# 当且仅当https请求访问到admin时# 访问https://game-XXXX2.pro-lwwl2.com/admin就会跳转到服务器的/home/server/vue_admin/dist下,取index.html来到vue项目的首页        location /admin{           alias  /home/server/vue_admin/dist;           index  index.html index.htm;            }           # 配置wss长连接通信协议            #当请求wss://game-XXXX2.pro-lwwl2.com/game/request时候,就会发生路径的跳转到本地的http://127.0.0.1:8888/game/request;去通过内网来匹配请求                 location /game/request {                       proxy_pass http://127.0.0.1:8888/game/request;                       proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;proxy_set_header X-NginX-Proxy true;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "Upgrade";proxy_connect_timeout 600s;proxy_read_timeout 600;proxy_send_timeout 600s;              }# nginx配置文件下载路径,实现nginx下载功能#仅仅需要访问https://game-XXXX2.pro-#lwwl2.com/resource/download/即可完成下载location /resource/download {  alias  /home/server/resource/client;  sendfile on;  autoindex on;  # 开启目录文件列表  autoindex_exact_size on;  # 显示出文件的确切大小,单位是bytes  autoindex_localtime on;  # 显示的文件时间为文件的服务器时间  charset utf-8,gbk;  # 避免中文乱码}# 访问https://game-XXXX2.pro-#lwwl2.com/admin-api# 接口就会完成跳转到本地的http://127.0.0.1:9021/端口以及路径location ^~ /admin-api/ {#匹配所有路径以/gameTool开头的请求access_log  /home/server/vue_admin/logs/access.log;proxy_set_header Host game-test.pro-lwwl.com; #设置请求域名proxy_pass http://127.0.0.1:9021/; #配置内网请求}             error_page   500 502 503 504  /50x.html;        location = /50x.html {            root   html;        }   }**一个nginx可以配置多个server 但是如果新增或者删除server一定得停止nginx 而不是重启nginx否则配置不生效**   # server {    #    listen       9021;   #     server_name  lwwl.com;       #将请求转成https         #把http的域名请求转成https        # return 301 https://$host$request_url;   #      rewrite ^(.*:*) https://$server_name$1 permanent  # }}

以上还需注意的是我们应该区分一下配置location时,我们应该看清root alias 和proxy_pass 三者带来路径拼写的差异,否则就会报404异常。

感谢各位的阅读,以上就是“nginx如何配置wss协议”的内容了,经过本文的学习后,相信大家对nginx如何配置wss协议这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

nginx如何配置wss协议

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

nginx如何配置wss协议

这篇文章主要讲解了“nginx如何配置wss协议”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nginx如何配置wss协议”吧!需求:nginx配置websocket协议连接,(背景,在一个
2023-07-05

nginx配置wss协议的实现

本文主要介绍了nginx配置wss协议的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-03-03

nginx怎么配置域名启用http2协议

这篇文章主要介绍“nginx怎么配置域名启用http2协议”,在日常操作中,相信很多人在nginx怎么配置域名启用http2协议问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”nginx怎么配置域名启用http
2023-06-28

nginx中怎么配置使用proxy protocol协议

本文小编为大家详细介绍“nginx中怎么配置使用proxy protocol协议”,内容详细,步骤清晰,细节处理妥当,希望这篇“nginx中怎么配置使用proxy protocol协议”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
2023-06-30

云服务器如何配置路由协议

云服务器需要配置路由协议才能保证路由的安全性和可靠性。以下是一些常用的路由协议供您参考:RIP:RIP协议是IGRP的前置协议,它是一种广泛用于Ethernet网络的路由协议。在Ethernet网络中,每个主机都有一个自治组ID,它由主机上的组的名称或名称的子名称指定。RIP使用IGRP来发送路由信息,IGRP使用了BGP通道来发送路由信息。OSPF:OSPF协议是EIGRP和IGRP之间
2023-10-26

云服务器如何配置路由协议设置

云服务器路由协议是云计算的重要组成部分,它是指在云服务器之间进行路由的协议。在使用云服务器时,需要使用路由协议来将数据路由到目标计算机上,以便进行数据交换。以下是一个简单的设置路由协议的示例代码:首先,要安装路由协议,可以使用以下命令进行安装:httpd.conf-ppathpathtoserver-ppathpathtoserver在配置路由协议之前,需要指定与目标计算机的协
2023-10-26

BFD协议原理和配置

BFD协议原理和配置 概述协议原理配置 BFD(Bidirectional Forwarding Detection,双向转发检测)提供了一个通用的、标准化的、介质无关和协议无关的快速故障检测机制,用于快速检测、监控网络中链路或者IP路
2023-08-19

如何配置思科交换机生成树协议

  生成树协议是由Sun微系统公司著名工程师拉迪亚•珀尔曼博士(Radia Perlman)发明的,它通过生成生成树保证一个已知的网桥在网络拓扑中沿一个环动态工作。今天小编为大家分享的教程是:如何配置思科交换机生成树协议。  一. 配置原则  首先小编要为大家介绍的是配置思科交换机生成树协议的原则,主要有三个
如何配置思科交换机生成树协议
2024-04-17

云服务器如何配置路由协议设置方法

云服务器需要配置路由协议才能将请求分配给指定的服务提供商。以下是一些常用的路由协议示例,您可以根据自己的网络环境和需求进行更改。一、动态路由协议(RIP)RIP是一种广泛使用的路由协议,它将一组IP路由到特定的子网或网关。在RIP中,路径的IP地址由主机地址和网络地址分开,主机地址指向主机,网络地址指向网络,这样主机可以访问和管理网络。下面是一个例子,假设您需要将请求分配给A主机:A主机地址是192.168.0.1,网...
2023-10-27

云服务器如何配置路由协议信息

云服务器需要配置路由协议来为客户提供路由服务。路由协议是一种网络协议,用于在多个客户之间共享网络数据。路由协议通常包括:IP路由:客户端可以使用IP地址来访问云服务器,以查找数据存储位置。IP地址是用于标识客户端IP地址的数字表示。DNS路由:客户端可以使用DNS域名服务器(DNS)来查找数据存储位置。DNS域名服务器是用于标识域名的名称服务器。Routing协议:客户端可以通过Rout
2023-10-26

ubuntu14.04中怎么配置SNMPv3协议

这篇文章给大家介绍ubuntu14.04中怎么配置SNMPv3协议,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。为什么需要使用SNMPv3尽管SNMPv3所增加的加密功能并不影响协议层面,但是新的文本惯例、概念及术语使
2023-06-13

云服务器如何配置路由协议信息系统

云服务器可以配置路由协议来帮助客户端通过网络连接到服务器。以下是一些常用的路由协议以及它们如何工作的一些细节:RouteNameRelationship:RouteNameRelationship(RR)协议用于在路由中设置路由名称。它可以通过两层网络接口协议(例如OSPF和UDP)在同一网络中传输路由信息。RR协议需要客户端在路由器之间进行RouteNameRelationship设置。设置RouteNameRelationship参数会影响整个路由协议,包括网络头部、路由...
2023-10-27

云服务器如何配置路由协议设置方法教程

以下是云服务器如何配置路由协议设置的基本步骤:确认目标地点:首先,您需要确定目标地点在哪里。可以使用浏览器访问云服务器的管理界面,查看当前可用的服务器地址。配置路由协议:确定目标地点后,您需要在云服务器上配置路由协议。您可以在路由器上配置SSH守护进程,或者在服务器的控制台上配置RDP协议。配置路由器:接下来,您需要配置云服务器的路由器。您可以使用路由器提供的命令行工具或者第三方云控制台应用程序来...
2023-10-27

云服务器如何配置路由协议信息传输

云服务器路由协议信息传输需要通过使用路由协议来完成。以下是一些常见的路由协议:RIP:使用于全球范围内的RIP协议提供了一条路由指令来选择路由。RIP使用了一种称为“距离向量”的路由协议,这种协议可以自动地将数据流分组到不同的方向,并且在某些情况下,数据包可以被转换成更加稳定的格式。IGRP:使用于中国的IGRP协议提供了一条路由指令,该指令可以将数据流从一个网络设备移动到另一个网络设备。这种路由协议可以...
2023-10-27

Nginx如何安装配置

这篇文章主要介绍“Nginx如何安装配置”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Nginx如何安装配置”文章能帮助大家解决问题。简介Nginx 的安装:# CentOSyum install
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录