如何解决React / Neovis.js:构建“WebSocket”失败:可能无法从通过 HTTPS 加载的页面启动不安全的 WebSocket 连接
所以我有这个使用 Neovis.js 的 react 应用程序,它是 Neo4j 数据库的图形可视化插件,在开发中运行良好,但是当我将它部署到 Heroku 时,该插件不起作用,它在控制台:
DOMException: Failed to construct 'WebSocket': An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.
还有这个:Mixed Content: The page at 'https://xxxxxxxx.com/person/20' was loaded over HTTPS,but attempted to connect to the insecure WebSocket endpoint 'ws://xxxxxx:7687/'. This request has been blocked; this endpoint must be available over WSS.
我看过关于这个错误的帖子,所以我像他们说的那样将 package.json 中的 react-scripts 从 4.0.1 降级到 3.2.0,但在那之后有太多弃用的东西,整个应用程序都没有在 Heroku 中工作。
我还尝试将 webPackHotDevClient.js 第 62 行编辑为:protocol: window.location.protocol === 'https:' ? 'wss' : 'ws'
,但仍然无法正常工作。
顺便说一下,neo4j 端点是在 Http 上而不是 https,我的 Neo4j 端点应该可以通过 https 访问吗?
解决方法
编辑:
我发现自己的一个解决方案是使用 http://
而不是 https://
访问 heroku 应用程序,以便我的 React 应用程序中的插件可以与在 http
上运行的 neo4j 实例通信,不是最好的答案,但它有效!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。