gpt4 book ai didi

docker - Docker Traefik API 上的 GET 请求 - 按 CORS 规则阻止

转载 作者:行者123 更新时间:2023-12-01 01:43:31 25 4
gpt4 key购买 nike

我在寻找如何使用来自其他 docker 容器的 GET 请求访问我的 Traefik API 时遇到了麻烦。

语境

我有 2 个 docker 容器,一个运行 traefik 实例:

docker run -d -v /var/run/docker.sock:/var/run/docker.sock -p 8080:8080 -p 80:80 -l traefik.frontend.rule=Host:my.server -l traefik.port=80 --name traefik traefik --docker --api

另一个容器运行一个非常简单的 React Web 应用程序。我正在尝试使用 XMLHttpRequest 访问 Traefik API。

我的请求被 Traefik CORS 政策阻止。关于如何配置 Traefik 以启用 Access-Control-Allow-Origin 的任何想法?

最佳答案

我这样做的唯一方法是连接 Access-Control-Allow-Origin标题作为 Træfik 容器中的标签。

traefik.frontend.headers.customResponseHeaders=Access-Control-Allow-Origin:*

如果您需要添加更多标题,例如 Access-Control-Allow-Method ,您必须在同一规则中用双杠 ( || ) 连接它们。
traefik.frontend.headers.customResponseHeaders=Hdr1:val1,val2||Hdr2:val3

因此,您的 docker run 行将如下所示。
docker run -d -v /var/run/docker.sock:/var/run/docker.sock \
-p 8080:8080 -p 80:80 \
-l traefik.frontend.rule=Host:my.server \
-l traefik.port=80 \
-l "traefik.frontend.headers.customResponseHeaders=Access-Control-Allow-Origin:*" \
--name traefik traefik --docker --api

关于docker - Docker Traefik API 上的 GET 请求 - 按 CORS 规则阻止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53824313/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com