IIS(443)后面通过带有密钥库(8443)身份验证的Tomcat(8080):tomcat重定向到443端口而不是8443上的密钥库

时间:2018-07-21 22:24:22

标签: tomcat keycloak iis-arr

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

  • 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/ ....

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

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

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

IIS ARR配置屏幕截图: IIS ARR settings

IIS重定向规则配置屏幕截图 IIS Redirect rule

部署用例屏幕截图 Deployment use case diagram

1 个答案:

答案 0 :(得分:0)

  

但是,当我通过IIS代理(443)访问Java应用程序时,IIS / Tomcat会将密钥隐藏身份验证重定向到端口443,而不是端口8443。

该请求来自何处以及到达何处。如果要使用域名,它将首先在443上命中IIS代理。

尝试在IIS中为密钥斗篷添加8443重写规则