开发者社区 问答 正文

SecurityError:操作不安全-React Heroku

我正在尝试部署使用create-react-app创建的应用程序。它在本地工作正常。但是当部署在Heroku上时,会显示以下错误:

SecurityError: The operation is insecure.

我正在使用Pusher库制作反应式记事本,但是我没有看到如何在heroku上正确地对其进行部署。我已经尝试过Firefox,Chrome和Edge,但似乎无法正常工作。

它表明问题出在/ app / webpack / bootstrap中。

783 | 
 784 | // Execute the module function
> 785 | modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
     | ^  786 | 
 787 | // Flag the module as loaded
 788 | module.l = true;```

Any ideas on how to solve this error would be much appreciated.

展开
收起
几许相思几点泪 2019-12-10 19:46:08 722 分享 版权
阿里云 AI 助理回答

这个错误信息“SecurityError: The operation is insecure”通常与浏览器的安全策略有关,比如CORS(跨源资源共享)限制、使用了不安全的API或者在不恰当的上下文中执行了某些操作。在你的场景中,问题可能出在Pusher库的使用上,尤其是在Heroku部署环境下。

以下是一些可能的解决步骤:

  1. 检查CORS设置:确保你的后端服务正确配置了CORS头,允许来自Heroku部署域名的请求。如果你的应用需要从客户端向服务器发起请求,这一点尤为重要。

  2. HTTPS:Heroku默认为应用提供HTTPS支持。确认你的应用程序以及任何外部服务(如Pusher)都通过HTTPS访问,因为一些现代浏览器对混合内容(HTTPS页面上的HTTP资源)有严格的限制。

  3. 审查Pusher配置:检查你在Pusher中的应用程序密钥和配置是否正确,并且确认没有使用到任何被浏览器标记为不安全的功能或API。确保你遵循了Pusher针对不同环境(开发/生产)的正确配置指南。

  4. 更新依赖:有时候,这样的错误可能是由于使用的库或框架版本过旧导致的。尝试更新create-react-app、React以及其他相关依赖到最新稳定版,看看是否解决了问题。

  5. 审查WebSockets:Pusher大量依赖于WebSockets进行实时通信。确保Heroku应用支持WebSocket连接,并且没有网络层面的阻隔。Heroku的某些免费计划可能对WebSocket有特定的限制或要求。

  6. 查看浏览器控制台和Heroku日志:详细阅读浏览器的开发者工具控制台输出,以及Heroku应用的日志,可能会提供更多关于错误来源的线索。

  7. 沙箱与生产环境差异:确认在本地开发时使用的Pusher环境(如沙箱模式)与部署到Heroku后的环境相匹配。不同的环境可能有不同的安全策略和配置需求。

如果以上步骤都无法解决问题,建议直接查阅Pusher的官方文档或社区论坛,看是否有其他开发者遇到过类似的问题及其解决方案。同时,考虑联系Heroku的支持团队,以排除是平台本身或其配置导致的问题。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答标签:
问答地址: