node.js - 通过 Cloudflare 为 socket.io 提供 HTTPS
问题描述
我有一个 chrome 扩展,它使用外部 socket.io 服务器将客户端连接在一起。
在开发过程中,我能够很好地连接到服务器http://localhost:2087
,但现在我需要 socket.io 来通过 HTTPS 工作,这样我就可以通过 HTTPS 从作为服务器的浏览器选项卡访问它。
我不想处理证书,并且想保持 socket.io 服务器上的代码基本相同,所以我想通过 Cloudflare 代理服务器的 IP 并像这样建立 SSL。
但我做不到,socket.io 服务器不使用其他网络服务器,但我可以将其更改为使用本机 NodeJShttp
或https
库。
但我无法通过 Cloudflare 代理访问 socket.io 服务器。Clouflare 返回 522 错误,表示连接超时。
解决方案
显然灵活的 SSL 仅适用于端口 443->80
不支持其他端口...
推荐阅读
- c# - 分组在 linq to sql 中不起作用。正确的语法是如何做到的
- popup - 关于 Spotify 弹出窗口
- javascript - 如何在 Angular 中多次将相同的数据从父级传递到组件?
- ansible - 如何从模块结果中提取深度嵌套的值到变量中以供以后的任务使用?
- asp.net-core - 将 DeleteBehavior.Cascade 更改为 DeleteBehavior.Restrict 会导致 EF Core 删除外键
- google-apps-script - 带有枚举的 .gs 文件导致 Missing ;声明之前。(第 8 行,文件“代码”)
- asp.net-core - .net core mvc 模型属性类型 datetime 无法在 AJAX Post 请求中绑定
- c++ - 如何正确动画模型
- xamarin - Xamarin Forms MVVM 使用忙碌指示器验证表单
- git - 如何在 git 中对给定修订版中的所有文件进行 grep?