【发布时间】:2017-05-03 10:24:53
【问题描述】:
Angular 2.0 应用程序正在尝试与 Rest Server 交互,遇到 CORS 问题
下面是我的 CORSFilter 实现
response.setHeader("Access-Control-Allow-Origin", "http://localhost:3000");
response.setHeader("Access-Control-Allow-Methods", request.getMethod());
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", request.getHeader("Access-Control-Request-Headers"));
if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
response.setStatus(HttpServletResponse.SC_OK);
} else {
chain.doFilter(req, res);
}
如果我在本地部署(客户端在 3000 端口上,服务器在 8080 上),令人惊讶的是相同的 war 文件,它工作正常,在本地我没有得到 access-control-allow-credentials 和 access-control-expose-headers,如果我们在服务器中部署它,就会得到这些标头并且 CORS 问题即将到来。
更新:我们部署在不同的服务器上,即 http:// 应用程序工作正常,但它在 https:// 上抛出错误
【问题讨论】:
-
response.setHeader("Access-Control-Allow-Origin", "http://localhost:3000")服务器也是这样吗? -
你解决了吗?我也面临同样的问题。
-
还没有@Thirumal。!
-
它对我有用还添加了回答。看看@RameshKotha
标签: spring spring-mvc spring-security cors