请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

gateway 与 spring-security 登陆重定向问题

所有服务均部署在阿里云服务器
内网IP:(1.1.1.78), 外网IP (1.1.1.162)

  • nacos服务 (8848端口)
  • gateway 服务 (8080端口)
  • builder 服务(8060) 此服务接了oauth2,登陆 1.1.1.162:8033 的gitlab

服务注册到nacos的IP 均为 内网IP

问题 如何才能跳转到外网 即: http://1.1.1.162:8080/builder/login 之前使用nginx时也遇到过
加了 proxy_set_header Host $host:8080;配置就可以了 gateway 如何处理?

以下是oauth2 配置

图片描述

正在回答 回答被采纳积分+3

1回答

大目 2020-05-08 16:04:30

您好,我不知道你spring security是怎么集成的。不过就你的描述,我觉得用

https://www.imooc.com/article/290816

//img1.sycdn.imooc.com//szimg/5eb5122909f958e412980662.jpg

能解决你的问题。

需要独立配置路由&过滤器。

这样会跳转到http://1.1.162/login

不改写任何代码,就想让你的项目跳转到http://1.1.162/build/login ,我觉得需要额外需要写转发规则。

0 回复 有任何疑惑可以回复我~
  • 提问者 破地瓜 #1
    这样会跳转到http://1.1.162/login  确实是这样的  没有跳转到到http://1.1.162/build/login   
    以上是使用微服务的情况,
    
    若不使用微服务 采用以下配置 302 正常
    
    spring.cloud.gateway.routes[0].id=auth
    spring.cloud.gateway.routes[0].uri=lb://auth
    spring.cloud.gateway.routes[0].predicates[0]=Path=/auth/**
    spring.cloud.gateway.routes[0].filters[0]=PreserveHostHeader
    auth.ribbon.listOfServers=http://localhost:8086/auth,http://localhost:8087/auth
    auth.ribbon.NIWSServerListClassName=com.netflix.loadbalancer.ConfigurationBasedServerList
    回复 有任何疑惑可以回复我~ 2020-05-08 17:29:22
  • 大目 #2
    不改写任何代码,就想让你的项目跳转到http://1.1.162/build/login ,我觉得需要额外需要写转发规则。
    回复 有任何疑惑可以回复我~ 2020-05-08 17:32:42
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信