文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-22 12:17

关注

除了用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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯