这篇文章主要介绍了SpringCloud Gateway跨域配置代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
Springboot版本:2.1.8.RELEASE
SpringCloud版本:Greenwich.SR2
yml配置:
spring: cloud: gateway: globalcors: cors-configurations: '[/**]': # 允许携带认证信息 # 允许跨域的源(网站域名/ip),设置*为全部 # 允许跨域请求里的head字段,设置*为全部 # 允许跨域的method, 默认为GET和OPTIONS,设置*为全部 # 跨域允许的有效期 allow-credentials: true allowed-origins: - "http://localhost:13009" - "http://localhost:13010" allowed-headers: "*" allowed-methods: - OPTIONS - GET - POST max-age: 3600 # 允许response的head信息 # 默认仅允许如下6个: # Cache-Control # Content-Language # Content-Type # Expires # Last-Modified # Pragma #exposed-headers:
配置类:org.springframework.cloud.gateway.config.GlobalCorsProperties
网上有很多人说这样配无效,但我测试下来是OK的,如果真的无效,可以手动去装配Cros配置:
package com.longge.gateway.configuration; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.cloud.gateway.config.GlobalCorsProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; import org.springframework.web.util.pattern.PathPatternParser; /** * @author roger yang * @date 11/21/2019 */ @Configuration @ConditionalOnBean(GlobalCorsProperties.class) public class CorsAutoConfiguration { @Autowired private GlobalCorsProperties globalCorsProperties; @Bean public CorsWebFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); globalCorsProperties.getCorsConfigurations().forEach((path,corsConfiguration)->source.registerCorsConfiguration(path, corsConfiguration)); return new CorsWebFilter(source); } }
当然,我们更推荐在Nginx等中间件去做跨域的处理,业务服务就应该关注业务。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
文档:https://www.npmjs.com/package/egg-cors 安装:npm i egg-cors --save 配置插件 // {app_root}/config/plugin.js exports.cors = { enable: true, package: 'egg-cors', }; config/config.default.js 目录下配置 config.
从FastAdmin1.2.0版本开始已经支持跨域配置,如果我们开发的插件有跨域需要,可以快速使用FastAdmin中的跨域配置。 首先直接在我们的基类控制器代码中添加一行check_cors_request();即可实现跨域的检测和响应。例如: /** * 初始化操作 * @access protected */ protected function _initialize() {
本文向大家介绍vue(2.x,3.0)配置跨域代理,包括了vue(2.x,3.0)配置跨域代理的使用技巧和注意事项,需要的朋友参考一下 导语:首先,每一个前端开发人员都应该知道同源策略,同源策略是浏览器的一个安全功能,不同源的客户端脚本在没有明确授权的情况下,不能读写对方资源,所谓同源是指,域名,协议,端口相同。有一个不同时,都将请求不到资源,将无法“跨域”获取资源。 vue3.0 从最新版开始,
本文向大家介绍ajax跨域调用webservice的实现代码,包括了ajax跨域调用webservice的实现代码的使用技巧和注意事项,需要的朋友参考一下 最近ajax访问webservice遇到跨域的问题,网上搜索资料,总结如下(很多都是觉得人家总结不错的复制下来) <<用JSON来传数据,靠JSONP来跨域>> 先上我的已实现代码: 前端代码: 服务端代码: c#
本文向大家介绍ThinkPHP 5.1 跨域配置方法,包括了ThinkPHP 5.1 跨域配置方法的使用技巧和注意事项,需要的朋友参考一下 因为最近的项目采用了API接口开发方式,后端需要配置跨域的规则以便前端能够访问。 系统采用的框架为 ThinkPHP,版本 5.1.19 关于OPTIONS请求 由于前端的知识不是很熟悉,查阅了网上的资料得知,OPTIONS 请求是在 AJAX 发送请求前发送
本文向大家介绍vue-cli 3.x 配置Axios(proxyTable)跨域代理方法,包括了vue-cli 3.x 配置Axios(proxyTable)跨域代理方法的使用技巧和注意事项,需要的朋友参考一下 vue-cli 3.x 的beta版本,基于iview做的公司的角色权限管理平台。 3.x 版本对整个项目的构建都有很大的改动,没有原先的config文件夹,没有dev.env.js和pr
本文向大家介绍Vue项目配置跨域访问和代理proxy设置方式,包括了Vue项目配置跨域访问和代理proxy设置方式的使用技巧和注意事项,需要的朋友参考一下 在vue单页应用项目开发时,避免不了要请求后端,这时通常就会出现跨域问题。有2种常用的解决方案 后端设置允许跨域访问 前端通过代理进行访问后端 下面我们只说说如何配置vue-cli代理访问: vue-cli代理 最简单就是配置vue conif
本文向大家介绍Django+Vue跨域环境配置详解,包括了Django+Vue跨域环境配置详解的使用技巧和注意事项,需要的朋友参考一下 概述 在使用Django+Vue开发过程中,遇到了很多开发环境相关的问题,比如跨域,比如ajax请求参数等,本篇文章主要记录解决在开发过程中,遇到的一些问题。 跨域不带Cookie 在使用Vue脚手架开发的过程中,会使用Vue脚手架自带的Server进行项目调试,