当前位置: 首页 > news >正文

建设网站企业银行appstore官网入口

建设网站企业银行,appstore官网入口,室内设计心得体会500字,网络营销师证书查询跨域问题太常见了,这里不做详细赘述。文章主要想说一下,如何统一管理和更好的来管理 跨域配置 跨域的常见配置有两种 后台代码设置和网关设置 1、后台代码设置 以springboot为例代码如下(水一下文章长度...) Configuration pu…

跨域问题太常见了,这里不做详细赘述。文章主要想说一下,如何统一管理和更好的来管理  跨域配置

跨域的常见配置有两种 后台代码设置网关设置

1、后台代码设置  以springboot为例代码如下(水一下文章长度...)


@Configuration
public class WebMvcConfiguration extends WebMvcConfigurationSupport {private static final Logger logger = LoggerFactory.getLogger(WebMvcConfiguration.class);@Overridepublic void configurePathMatch(PathMatchConfigurer configurer) {//setUseSuffixPatternMatch 后缀模式匹配configurer.setUseSuffixPatternMatch(true);//setUseTrailingSlashMatch 自动后缀路径模式匹配configurer.setUseTrailingSlashMatch(true);}@Beanpublic CorsFilter corsFilter() {logger.info("---------------corsFilter--------------------");final UrlBasedCorsConfigurationSource urlBasedCorsConfigurationSource = new UrlBasedCorsConfigurationSource();final CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.setAllowCredentials(true);corsConfiguration.addAllowedOrigin("*");corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedMethod("*");urlBasedCorsConfigurationSource.registerCorsConfiguration("/**", corsConfiguration);return new CorsFilter(urlBasedCorsConfigurationSource);}/*** 设置跨域访问** @param registry*/@Overridepublic void addCorsMappings(CorsRegistry registry) {logger.info("---------------WebMvcConfigurer--------------------");registry.addMapping("/**").allowedHeaders("*").allowedOrigins("*").allowedMethods("*").allowCredentials(true);}}

2、网关设置-以nginx配置为例

add_header 'Access-Control-Allow-Origin' "*";
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Allow-Headers' '*';

栗子举完了,这里说下如有优雅起来 ~

以上代码现有问题:

1、跨域处理全部都开放的话,会有资源安全问题,很有可能会被盗用

2、管理项目比较多的话,如果代码设置了跨域处理。nginx又add_header一下会有报错的

The ‘Access-Control-Allow-Origin’ header contains multiple values ‘http://xxx.xxx.xx, *’, but only one is allowed.

已被CORS策略阻止:对预请求的响应未通过访问控制检查:“access control Allow Origin”标头包含多个值’‘http://xxx.xxx.xx,,*',但只允许使用一个。(这个属性不能有多个、也不能为空)

现在说一下目前认为比较合理的方案,用nginx全面接管跨域设置,覆盖代码跨域设定。添加origin域名校验

覆盖跨域处理,这里推荐用 “proxy_hide_header ”,也就是先隐藏 再添加,这样就不会出现多条header属性的问题了(也可以用more_set_headers模块来处理,但是完全没必要引入新module...)

nginx跨域代码如下

     #隐藏后端服务响应中的 Access-Control-Allow-Origin 标头proxy_hide_header 'Access-Control-Allow-Origin';proxy_hide_header 'Access-Control-Allow-Credentials';proxy_hide_header 'Access-Control-Allow-Methods';proxy_hide_header 'Access-Control-Allow-Headers';#通过$http_origin来判断域名是否允许访问set $cors "";if ($http_origin ~* '(test.com|test.cn)'){set $cors "true";}if ($cors = 'true'){add_header 'Access-Control-Allow-Origin' "$http_origin";add_header 'Access-Control-Allow-Credentials' 'true';add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';add_header 'Access-Control-Allow-Headers' '*';}

这个思路应该是比较适用大多数的处理,那就按这个思路 让配置更优雅一些 ~

将上述代码放入到cors.txt中

nginx配置中,哪里需要跨域处理就 include一下就可以。这样也可以统一管理安全域名

  location /test {#引入跨域设置include /usr/local/nginx/conf/vhost/cors.txt;proxy_pass http://172.16.x.xx:8080;}

以上就是基本优化思路,简单实用 ~

http://www.yayakq.cn/news/991988/

相关文章:

  • 用什么网站做框架图优化设计官网
  • 栗田工业大连有效公司网站哪年做的集团网站目标
  • 凡科可以做游戏网站吗网页设计课程报告总结
  • 怀集县住房和城乡规划建设网站合肥网站营销推广
  • 校园网站建设开题报告做网站 深圳
  • wood怎么做网站结构图信用徐州网站建设情况
  • 长沙的网站制作公司wordpress首页展示分类页面
  • 门户网站建设困难工程项目管理软件 免费
  • 网站建设哪家售后做的好杭州市城市建设学校网站
  • 网站设计制作费购物网站开发周期
  • 焦作商城网站建设网页的制作步骤是什么
  • 建立校园网站天津设计公司有哪些
  • 珠海公司网站制作公服务器安全检测工具
  • 网站建设中的主要功能备案 个人网站
  • 做书封面的网站北京做网站比较有名的公司
  • 如何做网站浏览pdf常见的网站盈利方式
  • 网站如何做关键词广东省建设监理协会网站 - 首页
  • 北京电商网站开发多少钱梨树县住房和城乡建设局网站
  • 昆明网站优化连云港城乡建设局网站
  • dns 国外网站没有域名的时候建网站
  • 杭州做网站工作室怎么验证网站
  • wordpress 站点地址 wordpress地址中软国际软件培训
  • 网站怎么做移动图片大全wordpress 不发送邮件
  • 如何设计营销 网站建设哪里可以做购物网站
  • 辽宁官方网站做辣白菜如何让百度快速收录新网站
  • 建立网站内容需要做的事自己电脑如何做网站服务器
  • 西安找建网站公司建设网站详细流程
  • 服装网站建设都有哪些网龙网络公司官网
  • 如何快速推广自己的网站制作wordpress模板教程视频教程
  • 上海电商网站建设费用做网站申请域名