gpt4 book ai didi

http - CORS 使用带有 ARR 和 URL 重写的 IIS 作为反向代理

转载 作者:行者123 更新时间:2023-12-03 17:38:28 25 4
gpt4 key购买 nike

我使用带有 ARR 和 URL 重写的 IIS 作为反向代理,以支持到 ElasticSearch 服务器的 HTTPS 连接。据我所知,ES 配置正确,直接 HTTP 连接到 ES 不会导致错误。

但是,当我通过代理连接时,我在浏览器中收到此错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://myserver:19201/myindex/_search. (Reason: missing token 'authorization' in CORS header 'Access-Control-Allow-Headers' from CORS preflight channel)



elasticsearch.yml 文件中的相关部分是这样的:
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: ["X-Requested-With","X-Auth-Token","Content-Type","Content-Length","Authorization","engine-name"]
http.cors.allow-credentials: true

为了通过代理启用这些请求,我需要做些什么特别的事情,或者这是一个愚蠢的差事,我应该寻找另一种选择?

最佳答案

您可以在 this 中看到的 web.config 中自己编写标题。回答。
但最好使用官方模块:IIS CORS module .
在您的情况下,您需要此配置:

<cors enabled="true">
<add origin="THE_URL_YOU_USE_IN_YOUR_BROWSER" allowCredentials="true">
<allowHeaders allowAllRequestedHeaders="true">
<add header="X-Requested-With" />
<add header="X-Auth-Token" />
<add header="Content-Type" />
<add header="Content-Length" />
<add header="Authorization" />
<add header="engine-name" />
</allowHeaders>
<allowMethods>
<add method="GET" />
<add method="OPTIONS" />
<add method="POST" />
<add method="DELETE" />
<add method="PUT" />
<add method="HEAD" />
</allowMethods>
</add>
</cors>

关于http - CORS 使用带有 ARR 和 URL 重写的 IIS 作为反向代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36991800/

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