Quarkus OIDC置于异端口代理后重定向URL端口异常求助
解决Quarkus OIDC代理后重定向URL携带内部端口的问题
一、调整Quarkus的application.properties配置
在现有配置基础上,添加端口和协议转发相关参数,让Quarkus读取代理传递的外部端口信息:
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-Forwarded-Host # 开启端口转发支持,读取代理传递的外部端口 quarkus.http.proxy.enable-forwarded-port=true quarkus.http.proxy.forwarded-port-header=X-Forwarded-Port # 开启协议转发支持,确保重定向URL使用外部协议(如HTTPS) quarkus.http.proxy.enable-forwarded-proto=true quarkus.http.proxy.forwarded-proto-header=X-Forwarded-Proto
二、配置Apache反向代理传递正确的头信息
确保Apache在反向代理规则中主动传递外部域名、端口、协议头给Quarkus,示例配置如下:
ProxyPass / https://internal.products.io:9443/ ProxyPassReverse / https://internal.products.io:9443/ # 传递外部访问域名 RequestHeader set X-Forwarded-Host "gold.com" # 传递外部端口(HTTPS默认填443,HTTP默认填80) RequestHeader set X-Forwarded-Port "443" # 传递外部访问协议 RequestHeader set X-Forwarded-Proto "https"
三、验证效果
重启Quarkus和Apache服务后,触发Google OAuth认证流程,检查重定向URL是否变为https://gold.com/oauth2/callback(需与Google控制台注册的回调地址一致),确认不再携带内部端口9443。
内容的提问来源于stack exchange,提问作者Billy Billy
相关产品推荐
相关产品推荐

