【发布时间】:2021-07-14 07:56:51
【问题描述】:
这是我的问题。我的服务器配置了 CORS,并且预检请求工作正常:
$> curl 'https://db.mywebsite.com/something/_search' -X 'OPTIONS' ...
< HTTP/1.1 200 OK
< Access-Control-Allow-Origin: *
< Allow: GET,POST
< Content-Length: 0
< Content-Type: text/plain; charset=UTF-8
< Date: Tue, 20 Apr 2021 06:18:36 GMT
如您所见,它设置为允许每个来源(因为允许正确的来源不起作用,我尝试使用 * 并且问题仍然存在。)
但在发出后续实际请求时,我得到的是:
$> curl 'https://db.mywebsite.com/something/_search' -X 'POST' -H 'origin: https://mywebsite.com/' ...
< HTTP/1.1 403 Forbidden
< Access-Control-Allow-Origin: *
< Content-Length: 0
< Date: Tue, 20 Apr 2021 06:20:02 GMT
有趣的是,如果我删除 origin 标头,它可以正常工作,因此这排除了 403 来自后端服务器。
当我在网上寻找类似的问题时,我只会在预检请求得到 403 的情况下结束,但我找不到与我在这里面临的任何类似的情况。知道这可能是由于什么原因吗?
【问题讨论】:
标签: http elasticsearch cors traefik