【问题标题】:CORS issue solution via proxy services or curl通过代理服务或 curl 解决 CORS 问题
【发布时间】:2016-02-26 08:51:09
【问题描述】:

我在使用这个根本没有Access-Control-Allow-Origin 的客户提供的POST 服务时遇到了一个主要障碍。

我尝试了以下解决方案,还是您说根本不可能?

  1. 查看了 JSONP,但仅限于 GET。
  2. 在我的域上创建了一个可以向客户端域发出请求的服务。结束于{ [Error: socket hang up] code: 'ECONNRESET' }
  3. 尚未测试,但我可以使用 node-curl 完成它。 https://www.npmjs.com/package/node-curl

请指教。

【问题讨论】:

  • 所以,澄清一下。谁拥有该服务?也没有 CORS 问题,是服务所有者问题 :)
  • :) 客户端拥有服务,基本上是 Canvas LMS API,它基于 oAuth2,canvas.instructure.com/doc/api/index.html 是否有解决方法以防标头不存在?
  • 您要解决的实际问题是什么?网页是否试图向您的服务发出请求?或者是其他东西?还是您的 node.js 应用只是尝试向其他主机发出请求?
  • 这是我的 javascript 客户端代码试图向他们的 Web 服务发出 POST 请求,并且由于缺少访问标头,它失败了,我正在尝试使用上述选项 1、2、3

标签: node.js cors access-control canvas-lms


【解决方案1】:

那么,为什么不添加这个标题呢?只需一行代码:)

您可以运行自己的服务器,它将请求转发到该服务(nginx 可以轻松做到这一点,take a peek)。
简而言之:
frontend app -> your proxy with CORS headers (like nginx) -> api service

【讨论】:

  • 我相信我需要更多的资源和理解,任何你可以推荐观看的视频
  • 由于同源策略基于 http 标头和“源”概念 - 我建议深入研究 HTTP 和 SOP RFC,非常好的文章(已过时,但信息量很大) - rf2616, SOP RFC rfc6454 wiki 也有一些很好的 SOP 链接以及如何绕过它(建议在 rfc 之后阅读它们)-sop on wiki。如果您没有足够的时间 - 请阅读您感兴趣的 wiki 中的所有链接。 PS:curl、tcpdump 和 netcat 是试验 http 的好东西。
猜你喜欢
  • 1970-01-01
  • 2018-03-03
  • 2021-02-25
  • 1970-01-01
  • 2017-01-20
  • 2017-10-11
  • 2021-08-20
  • 2020-09-13
  • 2023-03-20
相关资源
最近更新 更多