NOTE: For Strategy 2021 and later, this capability is now part of SAML configuration. Please use the out of the box configuration capabilities as described in the product manual: Library SAML Configuration with Proxy or Load Balancer (microstrategy.com).
When running Strategy Web behind a proxy server or a load balancer, additional configuration steps must be performed for the Strategy SAML implementation to access SAML response messages that may be addressed to the external facing URL instead of the internal facing URL. For example, the SAML response message may be addressed to https://{externalURL}/MicroStrategy/saml/SSO, while the application expects http://{internal URL}/MicroStrategy/saml/SSO.
To solve the problem, Strategy Web must be forced to not read the actual HTTP message header but do a comparison check with the URL specified in the configuration instead, in order to match the destination URL provided in the SAML response. The following steps must be performed:
1. Edit SpringSAMLConfig.xml file inside [WEB_DEPLOYMENT_FOLDER]/WEB-INF/classes/resources/SAML
2. Find the bean with id “contextprovider” in the file and replace it with the following bean:
<bean id="contextProvider" class="org.springframework.security.saml.context.SAMLContextProviderLB"> <property name="scheme" value="https"/> <property name="serverName" value="your external hostname"/> <property name="serverPort" value="443"/> <property name="includeServerPortInRequestURL" value="false"/> <property name="contextPath" value="/Strategy"/> </bean>