JAVA解决多个域名配置问题

          CROSS_DOMAIN=http://localhost:3000,http://youjiacn.com:3000,http://www.youjiacn.com:3000       
 
        HttpServletResponse httpResponse = (HttpServletResponse)response;
        HttpServletRequest httpRequest = (HttpServletRequest)request;
 
        String[] crossDomains = ConfigUtil.getInstant().getValue(Constant.CROSS_DOMAIN).split(",");
        LOG.info("allow domains is :" + Arrays.asList (crossDomains));
        Set<String> originsDomains = new HashSet<String>(Arrays.asList (crossDomains));
        if(originsDomains.contains(httpRequest.getHeader("Origin"))){
            httpResponse.addHeader("Access-Control-Allow-Origin", httpRequest.getHeader("Origin"));
        }
        httpResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
        httpResponse.setHeader("Access-Control-Max-Age", "3600");
        httpResponse.setHeader("Access-Control-Allow-Headers", "Origin,X-Requested-With,Content-Type, Accept, Authorization");
        httpResponse.setHeader("Access-Control-Allow-Credentials","true");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CorsConfiguration 多域名配置可以通过设置一组允许的源(origin)和允许的方法(methods)来实现。在 Spring Boot 中,可以通过 CorsConfiguration 类来配置跨域访问。 下面是一个示例代码,演示如何配置 CorsConfiguration 多域名配置: ```java @Configuration public class CorsConfig { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://example1.com", "http://example2.com") .allowedMethods("GET", "POST", "PUT", "DELETE") .allowCredentials(true) .maxAge(3600); } }; } } ``` 在上面的示例中,`CorsConfig` 类使用 `@Configuration` 注解来表示这是一个配置类。然后,通过定义一个 `WebMvcConfigurer` 的 Bean 来进行跨域配置。 在 `addCorsMappings` 方法中,使用 `CorsRegistry` 对象来配置跨域访问。调用 `addMapping` 方法来指定需要进行跨域配置的路径,这里使用了通配符 `/**` 表示所有路径。 接着,使用 `allowedOrigins` 方法设置允许的源(origin),可以传入多个域名或 IP 地址。使用 `allowedMethods` 方法设置允许的方法,这里指定了 GET、POST、PUT 和 DELETE 方法。 `allowCredentials` 方法设置是否允许发送身份验证信息,例如 cookie、HTTP 认证或客户端 SSL 证书等。 `maxAge` 方法设置预检请求的有效期,单位为秒。 以上就是一个简单的 CorsConfiguration 多域名配置示例,您可以根据实际需求进行定制和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值