首页 文章

Tomcat(8080)在IIS(443)后面使用Keycloak(8443)身份验证:tomcat重定向到443端口上的keycloak而不是8443

提问于
浏览
1

Use case: 由于特定的限制,我需要配置以下配置:

  • Tomcat配置为使用端口8080

  • IIS配置为使用端口443(SSL)

  • IIS通过ARR URL重定向规则重定向到Tomcat

  • Keycloak独立配置为使用端口8443(SSL)

  • 通过公共域而不是IP地址访问应用程序(即:www.myserver.com)

将使用IIS代理访问Tomcat应用程序:https://server/myapp

直接使用keycloak URL访问Keycloak身份验证:https://server:8443/auth/ ....

Problem: 当我使用8443安全端口直接访问keycloak时效果很好,但是当我通过IIS代理(443)访问Java应用程序时,IIS / Tomcat会将keycloak身份验证重定向到端口443而不是端口8443 .

Question: 我是否缺少IIS,Tomcat或Keycloak上的任何设置以使tomcat重定向到正确的keycloak 8443端口进行身份验证?

即:当向浏览器添加https://server/myapp URL时,tomcat应用程序将重定向(用于身份验证)到https://server/auth/而不是https://server:8443/auth/

IIS ARR configuration screenshot: IIS ARR settings

IIS Redirect rule configuration screenshot IIS Redirect rule

Deployment use-case screenshot Deployment use case diagram

1 回答

  • 0

    但是当我通过IIS代理(443)访问Java应用程序时,IIS / Tomcat正在将keycloak身份验证重定向到端口443而不是端口8443 .

    来自Java应用程序的请求在哪里以及它将在何处发生 . 如果您要访问域名,它将首先在443上命中您的IIS代理 .

    尝试在IIS中为keycloak添加8443重写规则

相关问题