Gateway网关跨域问题

一、模拟跨域问题

通过vscode打开,模拟跨域问题的前端资料,在黑马视频中老师那个命令我似乎是不行的,应该是还没下载相关操作指令,但是可以通过下载一个插件来实现启动(Live Server)。

下载好后右键,选择open with live server启动。

启动成功后会有端口提示。

复制端口,在浏览器打开http://localhost:5500/ ,通过打开检查,看控制器可以看到有跨域问题,这里我已经解决跨域问题,在之后java项目中配置后才会出现。

二、解决跨域问题

将以下yml配置写入项目的配置文件中,重新启动,即可解决跨域问题

spring:
  cloud:
    gateway:
      # 。。。
      globalcors: # 全局的跨域处理
        add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题
        corsConfigurations:
          '[/**]':
            allowedOrigins: # 允许哪些网站的跨域请求 
              - "http://localhost:5500"
            allowedMethods: # 允许的跨域ajax的请求方式
              - "GET"
              - "POST"
              - "DELETE"
              - "PUT"
              - "OPTIONS"
            allowedHeaders: "*" # 允许在请求中携带的头信息
            allowCredentials: true # 是否允许携带cookie
            maxAge: 360000 # 这次跨域检测的有效期

Gateway网关中进行跨域配置的方法是通过在application.yml文件中进行配置。具体的配置内容如下所示: ```yaml server: port: 10011 spring: application: name: gateway cloud: nacos: server-addr: 127.0.0.1:8848 gateway: routes: - id: user-service uri: lb://userservice predicates: - Path=/user/** - id: admin-service uri: lb://adminservice predicates: - Path=/admin/** globalcors: add-to-simple-url-handler-mapping: true cors-configurations: '\[/**\]': allowedOriginPatterns: "*" allowedHeaders: "*" allowedMethods: - "GET" - "POST" - "DELETE" - "PUT" - "OPTIONS" allowCredentials: true maxAge: 3600 ``` 这段配置代码中,通过设置`globalcors`来实现跨域配置。`allowedOriginPatterns`表示允许跨域的来源,使用通配符`*`表示允许所有来源。`allowedHeaders`表示允许跨域的请求头,同样使用通配符`*`表示允许所有请求头。`allowedMethods`表示允许跨域的请求方法,包括GET、POST、DELETE、PUT和OPTIONS。`allowCredentials`表示是否允许发送Cookie等凭证信息。`maxAge`表示本次跨域检测的有效期,单位为秒。 需要注意的是,以上配置是针对整个网关的跨域配置,如果需要对某个具体的路由进行跨域配置,可以在对应的路由配置中添加`filters`来实现。 #### 引用[.reference_title] - *1* [Gateway网关配置跨域](https://blog.csdn.net/weixin_62166514/article/details/131287227)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [SpringCloud笔记(五)——Gateway](https://blog.csdn.net/weixin_46508271/article/details/121754796)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乄bluefox

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值