【发布时间】:2018-08-01 13:00:45
【问题描述】:
我有一个在 AWS (DomainA) 中运行的 Web 服务,它运行良好。它是使用 JAX-WS 和 Jersey 用 Java 制作的 REST 服务。我有一个响应过滤器,它添加了对所有域的访问(Access-control-allow-origin *),这应该可以工作,因为如果我删除它,我什至无法让 Web 服务在本地工作。
我在 one.com (DomainB) 上购买了一个域,在其中我使用 .htaccess 将所有请求重定向到 DomainA。现在,当我尝试在 DomainB 上调用一些 REST 方法时,无论我调用它(如果它是 GET 方法),它都可以正常工作。如果它是 POST 方法,它也适用于 POSTMAN,但在 Chrome 中我得到了臭名昭著的:
Failed to load "ServiceB". Redirect from "ServiceB" to "ServiceA" has "MyPage" been blocked by CORS policy: No Access-Control-Allow-Origin is present...
如果我直接调用 DomainA,我可以在我的响应标头中看到所有域都被允许并且一切正常。
任何想法为什么 CORS 在通过我的 DomainB 时不起作用?
【问题讨论】: