20220914-springcloud-网关回顾
20220914
一·回顾
1.1discovery(建议加上)
discovery: 可以不加,但是只兼容高版本,建议加上,后期nacos服务和配置不在同个位置也便于区分
nacos启动:
指令:[startup -m standalone]
1.2nginx配置文件
nginx内容呼应,查看配置文件需注意的点
1.3网关
跨域处理:
注:allowedOrigins是需要修改的,其他内容都是固定的
也可以写成:"*" 暂未进行尝试.
spring:
cloud:
gateway:
# 。。。
globalcors: # 全局的跨域处理
add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题
corsConfigurations:
'[/**]':
allowedOrigins: # 允许哪些网站的跨域请求
- "http://localhost:8090"
- "http://127.0.0.1:8090"
allowedMethods: # 允许的跨域ajax的请求方式
- "GET"
- "POST"
- "DELETE"
- "PUT"
- "OPTIONS"
allowedHeaders: "*" # 允许在请求中携带的头信息
allowCredentials: true # 是否允许携带cookie
maxAge: 360000 # 这次跨域检测的有效期
路由配置:
需要注意uri名称与nacos中注册的一致,格式大概如下
spring:
cloud:
gateway:
routes: # 网关路由配置
- id: weatherservice # 路由id,自定义,只要唯一即可
# uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
uri: lb://weather-service # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
- Path=/weather/** # 这个是按照路径匹配,只要以/user/开头就符合要求
- id: xiaohuaservice # 路由id,自定义,只要唯一即可
# uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
uri: lb://xiaohua-service # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
- Path=/xiaohua/** # 这个是按照路径匹配,只要以/user/开头就符合要求
自身注册:
网关自身也需要注册到nacos中,才能进行使用
服务注册地址\配置地址\注册名
spring:
application:
name: api-gateway
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yaml
整体范例:
server:
port: 8001
spring:
application:
name: api-gateway
cloud:
nacos:
discovery:
server-addr: localhost:8848
config:
server-addr: localhost:8848
file-extension: yaml
gateway:
routes: # 网关路由配置
- id: weatherservice # 路由id,自定义,只要唯一即可
# uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
uri: lb://weather-service # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
- Path=/weather/** # 这个是按照路径匹配,只要以/user/开头就符合要求
- id: xiaohuaservice # 路由id,自定义,只要唯一即可
# uri: http://127.0.0.1:8081 # 路由的目标地址 http就是固定地址
uri: lb://xiaohua-service # 路由的目标地址 lb就是负载均衡,后面跟服务名称
predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
- Path=/xiaohua/** # 这个是按照路径匹配,只要以/user/开头就符合要求
globalcors: # 全局的跨域处理
add-to-simple-url-handler-mapping: true # 解决options请求被拦截问题
corsConfigurations:
'[/**]':
allowedOrigins: # 允许哪些网站的跨域请求
- "http://localhost:8092"
- "http://127.0.0.1:8092"
allowedMethods: # 允许的跨域ajax的请求方式
- "GET"
- "POST"
- "DELETE"
- "PUT"
- "OPTIONS"
allowedHeaders: "*" # 允许在请求中携带的头信息
allowCredentials: true # 是否允许携带cookie
maxAge: 360000 # 这次跨域检测的有效期
profiles:
active: dev
二.nacos集群部署
步骤:
(参考上方文档)
1.4个naocs,一个总领,三个分列
2.数据库创建
3.修改如下文件
4.启动nacos
(启动3个)
5.启动nginx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具