私は、RestController、Springカスタムサービスからのデータを要求するカスタムセキュリティフィルタとAngular 2 Applicationを持つSpring Boot Appを持っています。Spring起動Angular 2とAccess-Control-Allow-Originがサーバー上で動作しない
私は、ヘッダーを設定するフィルターを持っています。
これは、localhost:4200をlocalhost:8080に呼び出すと問題なく動作しますが、localhost:4200から一部のip xx.xx.xx.xx:8080には動作しません。
誰かがアイデアを持っていますか?
ここでは私のフィルタ:
@Component
public class MyCorsFilter implements Filter {
public MyCorsFilter() {
System.out.println("init filter corsssss");
}
@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
response.setHeader("Access-Control-Max-Age", "3600");
response.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With, remember-me");
chain.doFilter(req, res);
}
@Override
public void init(FilterConfig filterConfig) {
}
@Override
public void destroy() {
}
}
を単に「localhost」があるようです私がSpringブートアプリケーションと角度アプリケーションを両方ともサーバーにデプロイすると、フィルターが正常に動作し、アクセス制御ヘッダーが設定されます。 – deadpoint