在HTTPD Server后面使用被动STS运行WSO2 IS

时间:2014-10-13 16:17:54

标签: apache tomcat wso2 single-sign-on

我的 Apache Web服务器(版本2.4)位于防火墙后面,可从互联网访问。 Web服务器代理对 WSO2 Identity Server 5.0.0 的请求,该请求在默认的 Apache Tomcat (端口9443)中运行。 WSO2 IS用作身份提供商,我的服务提供商是使用被动STS 进行身份验证的应用程序。现在我希望WSO2 IS可以在/sso而不是根级/中使用,因为此Apache Web服务器也映射了不同的其他应用程序。

Apache站点配置(代码段)。 Apache正在侦听端口443 (启用SSL)

<Location /sso >
    ProxyPass https://localhost:9443/sso
    ProxyPassReverse https://localhost:9443/sso
</Location>

${CARBON_HOME}/repository/conf/carbon.xml

的变化
<WebContextRoot>/sso</WebContextRoot>

${CARBON_HOME}/repository/conf/tomcat/catalina-server.xml

的变化
<Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
            port="9443"
            proxyPort="443"
            proxyName="my.ssosystem.com"
            bindOnInit="false"
            sslProtocol="TLS"
            maxHttpHeaderSize="8192"
            acceptorThreadCount="2"
            maxThreads="250"
            minSpareThreads="50"
            disableUploadTimeout="false"
            enableLookups="false"
            connectionUploadTimeout="120000"
            maxKeepAliveRequests="200"
            acceptCount="200"
            server="WSO2 Carbon Server"
            clientAuth="false"
            compression="on"
            scheme="https"
            secure="true"
            SSLEnabled="true"
            compressionMinSize="2048"
            noCompressionUserAgents="gozilla, traviata"
            compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg"
            URIEncoding="UTF-8"/>

现在我有几个问题

  • 请求/sso/passivests将我重定向到碳管理员登录(/sso/carbon/admin/login.jsp)并使用 302 而不是/sso/commonauth
  • 以管理员身份登录WSO IS后,它按预期工作,但后来我被 302 重定向到/authenticationendpoint而不是/sso/authenticationendpoint。因此,我将${CARBON_HOME}/repository/conf/security/application-authentication.xml AuthenticationEndpointURL更改为/sso/authenticationendpoint/login.do。但后来我收到http错误 405 (不允许GET方法)

我认为这可能是一个常见的用例(由Apache Webserver代理的Identity Server),但没有找到太多信息。有没有人解决过类似的问题或任何想法?

0 个答案:

没有答案