【发布时间】:2021-12-11 10:12:54
【问题描述】:
我正在发布一个使用 Tomcat8.5 和 Azure Webapps 的应用程序。另外,我使用ONELOGIN作为SP进行SAML认证,但是当Tomcat的小版本更新到8.5.58时,出现错误,无法认证。 错误信息如下。
“收到回复的是http://example.com/postauth.do,而不是https://example.com/postauth.do"。
我之前遇到过同样的问题,可以通过将以下设置添加到 Web.xml 来解决它,但从 8.5.58 开始,我无法再解决它。
<filter>
<filter-name>RemoteIpFilter</filter-name>
<filter-class>org.apache.catalina.filters.RemoteIpFilter</filter-class>
<init-param>
<param-name>remoteIpHeader</param-name>
<param-value>x-forwarded-for</param-value>
</init-param>
<init-param>
<param-name>remoteIpProxiesHeader</param-name>
<param-value>x-forwarded-by</param-value>
</init-param>
<init-param>
<param-name>protocolHeader</param-name>
<param-value>x-forwarded-proto</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>RemoteIpFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
目前我已将版本修复为8.5.57以避免错误,但我想知道如何避免8.5.58及更高版本的错误。
最好的问候。
【问题讨论】:
-
你确定 Tomcat 升级是唯一改变的东西吗?这些版本之间的
RemoteIpFilter没有变化。我猜是反向代理/负载均衡器的配置发生了变化。 -
仅实施了版本更改。没有进行其他更改。 8.5.57 确认 OK,8.5.58 确认 NG。
标签: azure-web-app-service saml tomcat8 onelogin