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

利用nginx/apache代理wss 实现 小程序 端口 反向代理

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

北京

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

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

看不清楚,换张图片

免费获取短信验证码

利用nginx/apache代理wss 实现 小程序 端口 反向代理

除了用Workerman自身的SSL,也可以利用nginx/apache作为wss代理转发给workerman

我就是栽在这大坑里(nginx/apache代理wss,workerman部分就不要设置ssl,否则将无法连接,两个方法2选1)官方推荐用nginx/apache代理wss

如果是微信小程序,要添加合法域名

格式:wss://域名

结尾不要加/,可以:端口

 

 

nginx配置参考

前提条件及准备工作:

已经安装nginx,版本不低于1.3

假设Workerman监听的是8282端口(websocket协议)

已经申请了证书(pem/crt文件及key文件)放在了/etc/nginx/conf.d/ssl下

打算利用nginx开启443端口对外提供wss代理服务(端口可以根据需要修改)

nginx一般作为网站服务器运行着其它服务,为了不影响原来的站点使用,这里使用地址 域名/wss 作为wss的代理入口。也就是客户端连接地址为 wss://域名/wss

nginx配置类似如下

# websockets  友情提示可以放在伪静态那,安全点location /wss {    proxy_pass http://127.0.0.1:9527;               proxy_http_version 1.1;    proxy_set_header Upgrade $http_upgrade;    proxy_set_header Connection "Upgrade";    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    proxy_set_header X-Real-IP $remote_addr;}

测试链接地址

wss://域名/wss,/wss就是对应反向代理的location /wss 

wss://域名/wss

利用apache代理wss

也可以利用apache作为wss代理转发给workerman(注意如使用apache代理SSL,则workerman部分千万不要设置ssl,否则将无法连接)。

准备工作:

GatewayWorker 监听 8282 端口(websocket协议)

已经申请了ssl证书, 放在了/server/httpd/cert/ 下

利用apache转发443端口至指定端口8282

httpd-ssl.conf 已加载

openssl 已安装

启用 proxy_wstunnel_module 模块

LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so

 配置SSL及代理

#extra/httpd-ssl.confDocumentRoot "/网站/目录"ServerName 域名 # Proxy ConfigSSLProxyEngine on ProxyRequests OffProxyPass /wss ws://127.0.0.1:8282/wssProxyPassReverse /wss ws://127.0.0.1:8282/wss # 添加 SSL 协议支持协议,去掉不安全的协议SSLProtocol all -SSLv2 -SSLv3# 修改加密套件如下SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUMSSLHonorCipherOrder on# 证书公钥配置SSLCertificateFile /server/httpd/cert/your.pem# 证书私钥配置SSLCertificateKeyFile /server/httpd/cert/your.key# 证书链配置,SSLCertificateChainFile /server/httpd/cert/chain.pem

测试

wss://域名/wss

来源地址:https://blog.csdn.net/weixin_43453621/article/details/131471143

免责声明:

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

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

利用nginx/apache代理wss 实现 小程序 端口 反向代理

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

下载Word文档

猜你喜欢

使用Nginx反向代理实现多端口跳转的实战分享

通过使用Nginx反向代理,你可以实现多端口跳转,优化服务器架构。文章提供详细的配置步骤,包括虚拟主机配置、"server"和"location"指令的使用。还涵盖了故障排查技巧,如语法检查和日志分析。此外,文章介绍了性能优化方法,例如合理设置工作进程、启用Gzip压缩和使用CDN。示例配置文件展示了如何将流量转发到不同的后端服务。遵循本指南,你可以轻松部署Nginx多端口跳转服务,提高可用性和性能。
使用Nginx反向代理实现多端口跳转的实战分享
2024-04-02

利用Nginx 反向代理怎么获取真实IP

本篇文章给大家分享的是有关利用Nginx 反向代理怎么获取真实IP,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、前言前文Nginx 解决WebApi跨域二次请求以及Vue单
2023-06-08

利用node.js实现反向代理的方法详解

本文主要给大家介绍的是关于利用node.js实现反向代理的相关内容,分享出供大家参考学习,下面话不多说,来一起看看详细的介绍: 跨域问题是前端开发很常见的问题解决方案有很多种jsonp返回Access-Control-Allow-Origi
2022-06-04

怎么使用Nginx实现端口转发TCP代理

本篇内容介绍了“怎么使用Nginx实现端口转发TCP代理”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!需求产生背景最近同事在测试和生产环境中
2023-06-22

nginx反向代理实现不同域名映射到同一台服务器的相同端口

在实际应用中,我们经常会遇到多个域名需要映射到同一台服务器的相同端口的情况,这时可以使用nginx反向代理来实现。 以实现将www.example.com和www.test.com都映射到127.0.0.1的80端口为例,具体步骤如下: 修
2023-08-19

教你如何利用.net core实现反向代理中间件的方法

这篇文章主要给大家介绍了关于利用.net core实现反向代理中间件的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧最近在将一些项目的rest api迁
2023-06-03

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录