要在源应用程序或目标应用程序中配置的 CORS 标头?Apache Web 服务器 [复制]

CORS header to be configured in source application or in destination application ? Apache web server [duplicate]

提问人:chandrasekhar 提问时间:11/2/2023 更新时间:11/2/2023 访问量:28

问:

假设有一个应用程序以 url 域为 https://srcdomain.com。 并且,还有另一个应用程序 URL 域作为 https://destdomain.com

如果另一个应用程序必须与源应用程序集成,并允许从 srcdomainapp(在框架内)访问 destdomain 应用程序,则必须在哪个应用程序中添加 cors 标头? 以下配置要添加到 srcdomain 应用程序或 destdomain 应用程序的 httpd.conf 文件中?

SetEnvIf 源 “https://(srcdomain|destdomain.com)$” AccessControlAllowOrigin=$0 标头始终设置 Access-Control-Allow-Origin %{AccessControlAllowOrigin}e

没有本地设置来复制问题。需要有关此查询的输入。

Apache Google-Chrome CORS

评论


答:

0赞 Elvis Adomnica 11/2/2023 #1

我认为你感到困惑,因为你使用了“来源”和“目的地”这两个术语,这通常意味着从一个地方移动到另一个地方的东西。

正确的术语是“提供者”和“消费者”。提供程序是通过 API 提供某些功能的服务,使用者是使用 API 来使用提供程序数据的服务。

最简单的例子是在不同的域上有一个 BE API 服务和一个 FE 应用程序:

  • api.somedomain.com - >后端 API 服务
  • app.anotherdomain.com ->将使用 BE 服务的 FE 应用。

它是提供程序限制对其资源的访问(或者,出于安全原因,存在默认限制,如 CORS 限制)。

在我的示例中,后端 API 服务需要添加所需的标头以允许来自任何域的请求或指定通配符并允许来自任何域的请求。app.anotherdomain.com

您应该阅读有关此类限制的更多信息:

另外,请务必查看以下答案:为什么 iframe 被认为是危险和安全风险?