从其他服务器访问 QVR API 时如何修复 CORS 错误?


最后修订日期: 2023-07-28

适用产品

QTS 5、QVR Pro、QVR Elite、QVR Face、QVR Human、QVR DoorAccess


详细信息

托管 QNAP 服务的内部 Web 服务器默认支持跨域资源共享 (CORS) 保护。CORS 不允许来自不同网站(源)的请求。

更改 Web 服务器的默认设置是解决此问题的一种方法,但从 QTS 5 起,还可以定义反向代理设置以修复 CORS 问题。

  1. 以管理员身份登录 NAS。
  2. 打开“Control Panel”(控制台),然后转到“Network Access”(网络访问)。
  3. 打开“Reverse Proxy”(反向代理)选项卡
  4. 单击“Add”(添加)。
  5. 配置反向代理规则。
    Source(源):从其他 Web 服务器调用 API 调用的入口点(域名、端口)。
    Destination(目标):localhost(遵循 NAS Web 服务设置)
    。在“Custom Header”(自定义标头)中添加以下内容:
    Access-Control-Allow-Origin:网站的域。或填写“*”,表示没有任何限制。
    Access-Control-Allow-Methods:POST、GET、OPTIONS、PUT(根据使用的方法选择)。
  6. 单击“Apply”(应用)
  7. 使用您创建的 URL 调用 API。
  8. 使用替代 URL 调用 API 调用。在此示例中为:https://:4430/qvrpro/
注意
  • 在 QTS 仪表板和日志中检查连接时,主机 API 的源视为 localhost (127.0.0.1)。
  • 在 NAS 上运行的其他服务也是如此。
  • 为了增强访问安全性,请设置额外的访问控制规则,用于允许单个 IP 或某个 IP 范围以防止未知主机意外连接到此反向代理。

补充阅读

跨域资源共享 (CORS) - HTTP | MDN

这篇文章有帮助吗?

谢谢您,我们已经收到您的意见。

请告诉我们如何改进这篇文章:

如果您想提供其他意见,请于下方输入。

选择规格

      显示更多 隐藏更多
      open menu
      back to top