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

关键词优化排名网站教育机构客户管理系统

关键词优化排名网站,教育机构客户管理系统,哪里做企业网站,哪里可以学效果图制作文章目录 一、简介背景和概述 二、前端跨域解决方案Axios跨域CORS跨域 三、后端跨域解决方案反向代理服务器 四、Spring Cloud中的跨域解决方案Gateway网关的跨域配置 五、基于Vue和Spring Cloud的跨域整合实践**这两种配置只需配置一种即可生效#xff08;前端or后端#xf… 文章目录 一、简介背景和概述 二、前端跨域解决方案Axios跨域CORS跨域 三、后端跨域解决方案反向代理服务器 四、Spring Cloud中的跨域解决方案Gateway网关的跨域配置 五、基于Vue和Spring Cloud的跨域整合实践**这两种配置只需配置一种即可生效前端or后端**前端Vue项目配置后端Spring Cloud项目配置 六、总结 一、简介 背景和概述 在开发Spring Cloud和Vue的项目时涉及到前后端分离的情况下跨域成为一个常见的问题。本文将介绍跨域问题的背景并提供了一些解决方案。 二、前端跨域解决方案 Axios跨域 Axios是一个流行的基于Promise的HTTP客户端用于浏览器和Node.js。它可以使发送HTTP请求变得更加简单和高效。 一般前端使用axios进行http请求发送 import axios from axios // 利用axios对象的方法create,创建一个axios实例 const request axios.create({baseURL: http://localhost:8080,timeout: 3000000, //请求超时的时间withCredentials: true, // 打开withCredentials选项crossDomain: true, })// request 请求拦截器在发请求之前请求拦截器可以检测到 //config:配置对象里面有一个属性是headers请求头 request.interceptors.request.use(config {// 设置允许跨域的域名和请求方法config.headers[Access-Control-Allow-Origin] *;config.headers[Access-Control-Allow-Methods] GET, POST, PUT, DELETE;return config }, error {return Promise.reject(error) });// response 响应拦截器 request.interceptors.response.use(//响应成功回调函数response {let res response.data;return res;},//响应失败的回调函数error {Toast.clear()console.log(err error)return Promise.reject(error)} )// 对外暴露 export default requestCORS跨域 CORSCross-Origin Resource Sharing是一种跨域访问资源的标准可以通过在服务器端设置响应头来实现跨域请求。以下是CORS的示例代码 // 在后端Spring MVC控制器中配置CORS CrossOrigin RestController RequestMapping(/api) public class MyController {// 控制器的方法 }三、后端跨域解决方案 反向代理服务器 使用反向代理服务器可以将前端请求转发到后端服务器从而绕过跨域限制。以下是反向代理服务器的示例代码 这里nginx是要和你的前端服务在一台服务器上的然后你访问的时候通过前端的nginx进行转发的后端服务器才行 # NGINX反向代理配置示例 location /api {proxy_pass http://backend-server; }四、Spring Cloud中的跨域解决方案 Gateway网关的跨域配置 整个项目中只需要配置网关的配置文件即可其他地方前后端都不需要在进行更改 在Spring Cloud中使用Gateway作为网关时可以通过配置来处理跨域请求。以下是Gateway网关的跨域配置的示例代码 # 在Gateway网关中配置跨域 spring:cloud:gateway:globalcors:cors-configurations:[/**]:allowedOrigins: *allowedHeaders: *allowedMethods: *五、基于Vue和Spring Cloud的跨域整合实践 这两种配置只需配置一种即可生效前端or后端 前端Vue项目配置 在Vue项目中进行跨域配置确保前端请求能够访问后端服务。以下是前端Vue项目配置的示例代码 参考Vue官方文档 // 在Vue项目的配置文件中设置代理 module.exports {devServer:{proxy:{/getTest:{target:http://localhost:7734, //跨域的域名不需要写路径changeOrigin:true,//是否开启跨域// pathRewrite:{ //路径重写//// }}}} }后端Spring Cloud项目配置 这是一种方案还可以使用上面说的gateway配置文件的方式这两种二选一 在Spring Cloud项目中进行跨域配置确保后端能够处理前端请求。以下是后端Spring Cloud项目配置的示例代码 import com.alibaba.nacos.shaded.com.google.common.net.HttpHeaders; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono;import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; // 在后端Spring Cloud-GateWay中配置跨域 Component Order(2) public class CorsResponseHeaderFilter implements GlobalFilter {private static final String ANY *;OverrideSuppressWarnings(serial)public MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {return chain.filter(exchange).then(Mono.fromRunnable(() - {exchange.getResponse().getHeaders().entrySet().stream().filter(kv - (kv.getValue() ! null kv.getValue().size() 1)).filter(kv - (kv.getKey().equals(HttpHeaders.ACCESS_CONTROL_ALLOW_ORIGIN)|| kv.getKey().equals(HttpHeaders.ACCESS_CONTROL_ALLOW_CREDENTIALS)|| kv.getKey().equals(HttpHeaders.VARY))).forEach(kv -{// Vary只需要去重即可if(kv.getKey().equals(HttpHeaders.VARY)) {kv.setValue(kv.getValue().stream().distinct().collect(Collectors.toList()));} else{ListString value new ArrayList();if(kv.getValue().contains(ANY)){ //如果包含*则取*value.add(ANY);kv.setValue(value);}else{value.add(kv.getValue().get(0)); // 否则默认取第一个kv.setValue(value);}}});}));} }六、总结 跨域Cross-Origin Resource SharingCORS是一种浏览器的安全机制用于限制从一个源域、协议或端口加载的Web页面上的资源如何与来自其他源的资源进行交互。当一个 Web 应用程序尝试从一个源加载来自不同源的资源时浏览器将执行跨域检查。 跨域限制的目的是保护用户隐私和安全防止恶意网站通过跨域请求来获取用户的敏感信息。如果跨域是允许的那么一个恶意网站就可以在用户不知情的情况下获取到来自其他网站的数据这将带来安全风险。 在默认情况下浏览器会限制跨域请求例如从一个域例如example.com的页面发起的 AJAX 请求无法直接访问另一个域例如api.example.com的资源。这是因为浏览器执行了同源策略Same-Origin Policy即只允许在同一个域下加载资源。 为了解决跨域问题可以使用 CORS 机制来明确指示浏览器允许跨域请求。服务器可以在响应中添加一些特殊的头部如 “Access-Control-Allow-Origin”来指定允许访问的来源即允许跨域请求的网站。 需要注意的是跨域问题仅存在于浏览器环境中。如果是在服务器之间进行通信不受同源策略的限制可以通过其他方式如代理、反向代理来实现跨域请求。 总结而言跨域限制是为了保护用户隐私和安全防止恶意网站获取敏感信息。使用 CORS 机制可以显式指示浏览器允许跨域请求。
http://www.yutouwan.com/news/270005/

相关文章:

  • 网站备案账号密码网站建设系统
  • 军队 网站备案网站seo文章该怎么写
  • 个人网站主页花生棒 做网站
  • 企业管理系统网站专业网站的建设设行吗
  • 网站建设哪里有学2022中国互联网公司排名
  • 做外贸的网站主要有哪些内容网站论坛模板下载
  • 百度关键字搜索到自己的网站网站开发图片存哪里
  • 公司制作网站流程适合前端新手做的网站
  • 网站建设公司兴田德润i优惠吗网站排名分析
  • 营销型网站建设公司哪家建设投资公司是做什么的
  • 网站维护的重要性一般网站图标是用什么做的
  • 自己如何网站建设如何建立自己免费网站
  • 广元北京网站建设长春网站建设哪家好
  • 郴州网站开发公司广州网页设计
  • 怎么联系做网站公司phpcms网站备份
  • 徐州网站定制公司成都网站编辑
  • 微信公众号开发文档官方seo优化平台
  • 河南建设工程造价管理协会网站698元网站建设
  • 下列哪些不属于企业网站建设基本原则企业类展厅设计公司
  • 5g建设多少网站wordpress设置描述词
  • 机械加工厂如何做网站优化seo
  • 微信网站游戏做婚礼效果图的网站有哪些
  • 上街做网站竞价是什么工作
  • 免费的行情网站app代码装修网十大平台
  • 网站ping怎么做手机免制作app软件下载
  • 外贸网站建设升上去网页制作专业以后好找工作吗
  • 索莱宝做网站备案里的网站名称
  • 西部数码网站管理控制面板短网址还原
  • 正能量软件不良网站下载网站建设公司 lnmp
  • 中英文的网站怎么建设富锦建设局网站