java - 如何在 Spring Boot 中向 Access-Control-Allow-Origin 添加多个域?

标签 java spring-boot

我的 REST API 是多个域的服务器。我怎样才能在我的 header 中允许多个域。

我的 Java 代码:

    public class CORSFilter implements Filter {


        public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
            HttpServletResponse response = (HttpServletResponse) res;
            response.setHeader("Access-Control-Allow-Origin","abc.com","xyz.com");
            response.setHeader("Cache-Control", "no-store, public, max-age=0");
            response.setHeader("Pragma", "no-cache");
            response.setHeader("Access-Control-Allow-Methods", "POST, GET, PUT, OPTIONS, DELETE");
            response.setHeader("Access-Control-Max-Age", "3600");
            response.setHeader("Strict-Transport-Security", "max-age=63072000; includeSubDomains;");
            chain.doFilter(req, res);
        }

    }

最佳答案

使用CorsRegistry:

@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/api/**")
        .allowedOrigins("http://domain1.com","http://domain2.com");
}
<小时/>

使用@CrossOrigin:

@CrossOrigin(origins = {"http://domain1.com","http://domain2.com"})
<小时/>

使用application.properties

management.endpoints.web.cors.allowed-origins=http://domain1.com,http://domain2.com

关于java - 如何在 Spring Boot 中向 Access-Control-Allow-Origin 添加多个域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56374431/

相关文章:

java - 在 Spring Boot 中配置安全性

java - 没有足够的内存让Java运行时环境继续运行:

java - @EnableFeignClients 和@FeignClient 在 Autowiring 时失败 'FeignContext' NoSuchBeanException

java - 调用方法时处理空指针异常

java - Spring Security 和 Angular 6 HTTPS 请求

java - 在 IntelliJ 中编辑非项目文件

java.io.IOException : mark/reset not supported

java - 扩展HSQLDB的索引结构

java - 任务:backend:appengineStart FAILED

java - SpringApplicationRunListeners 与 SpringApplicationRunListeners 对比应用监听器