项目场景:
在学习springcloud搭建环境时,记录一些小问题
问题描述:
此处的uri与path以及StripPrefix需要极其注意一下!!!
spring:
application:
name: gateway
cloud:
consul:
host: localhost
port: 8500
gateway:
routes:
- id: video_route
uri: lb://video
predicates:
- Path=/admin/**
filters:
- StripPrefix=1
-
globalcors:
cors-configurations: #允许跨域相关配置(允许其他跳转到这里的操作)
'[/**]':
#allowedOrigins: "http://www.baizhiedu.xin" #只允许www.baizhiedu.xin域名访问
allowedOrigins: "*" #允许所有域名访问
allowedMethods: "*" #允许所有请求方式访问
allowedHeaders: "*" #允许所有请求头可以访问
解决方案:
uri:此处可以直接写ip地址加端口号(如:localhost:8989),也可以写lb://video(加你的注册中心取得名字)而断言中的- Path=/xxx/**(PS:P要大写,横杠(-)也要注意下要空一格),此处的含义为根据网关输入进来的URL解析,然后找到对应的URL指向对应的URI;**的含义为0~n个字符也就是说可以有参数也可以没有参数;
再者就是过滤器中的StripPrefix,它的意思就是过滤Path路径中的前缀,(如:/xxx/**,就会省略xxx,只留下/**传到uri中),StripPrefix=n(n为多少就过滤多少前缀)
uri访问其他端口或者IP一定要跨域!!! 对了,一定要注意yml的空格间距!!!