首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quarkus OIDC重定向uri绝对路径

Quarkus OIDC重定向uri绝对路径
EN

Stack Overflow用户
提问于 2021-09-15 20:07:34
回答 1查看 610关注 0票数 0

我有一个云负载balancer/virtual server/firewall,它位于一个Quarkus吊舱集合的前面,它的作用几乎就像一个反向代理。流量通过该公共入口点进入,并被重新路由到内部网络。

我们使用Azure B2C登录应用程序,当您直接访问吊舱或内部负载均衡器时,效果很好。

问题是,当使用外部负载均衡器时,重定向uri位于内部网络的上下文中,而内部网络是公共方无法访问的。

是否有一种方法可以将uri重定向到外部服务器,而不是将相对uri设置为绝对uri?文档很清楚,它是相对的,但我没有看到将它重定向到自定义uri的任何方法。或者,在安全问题上,这是一个完全错误的方法吗?我知道我可以尝试重新配置外部负载均衡器,但是我想要一种快速的方法来设置重定向uri。我知道这在其他框架中是可能的。

这样做是可行的:

代码语言:javascript
复制
https://pod1:8080

这也适用于:

代码语言:javascript
复制
https://internal-load-balancer:8080

这不管用:

代码语言:javascript
复制
https://external-load-balancer:8080

(重定向uri是内部负载均衡器)

如果有帮助的话,请提供更多信息。我们使用auth代码流,quarkus-oidc自动将重定向url设置为相对路径。我不确定是否有一种方法可以将uri重定向到外部负载均衡器,而不是内部。

https://quarkus.io/guides/security-openid-connect-web-authentication#quarkus-oidc_quarkus.oidc.authentication.redirect-path

解决方案:我必须配置x转发/反向代理来读取原始源:

https://quarkus.io/guides/security-openid-connect-web-authentication#external-and-internal-access-to-openid-connect-provider

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-16 13:59:28

我必须将x转发/反向代理配置为读取原始源。我将其添加到application.properties中:

代码语言:javascript
复制
quarkus.http.proxy.proxy-address-forwarding=true
quarkus.http.proxy.allow-forwarded=false
quarkus.http.proxy.enable-forwarded-host=true
quarkus.http.proxy.forwarded-host-header=X-ORIGINAL-HOST

这使应用程序能够查看x转发头,而不是查看转发的标头(默认值为false),启用x转发-主机标头,并覆盖x转发-主机属性使用自定义标头名称。

我的内部负载均衡器有一个错误,它将用内部名称覆盖x转发主机,而不管x转发主机是否已经存在。我还必须配置我的外部负载均衡器以添加一个额外的自定义头(x原始主机,但名称是任意的),这样我的内部负载均衡器就不会覆盖它。

在对Quarkus进行配置之后,重定向uri使用新的自定义报头来构建指向外部负载均衡器的重定向uri,并且一切都按预期工作。

https://quarkus.io/guides/security-openid-connect-web-authentication#running-behind-a-reverse-proxy

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69199199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档