Apache 在HTTPD服务器后面使用被动STS运行WSO2

Apache 在HTTPD服务器后面使用被动STS运行WSO2,apache,tomcat,wso2,single-sign-on,Apache,Tomcat,Wso2,Single Sign On,我的Apache Web服务器(2.4版)位于防火墙后面,可以从internet访问。Web服务器将请求代理到WSO2 Identity Server 5.0.0,该服务器在默认的Apache Tomcat(端口9443)中运行。WSO2用作身份提供者,而我的服务提供者则是使用被动STS进行身份验证的应用程序。现在我希望WSO2在/sso上可用,而不是在根级别/,因为此Apache Web服务器还映射了其他不同的应用程序 Apache站点配置(代码段)。Apache正在侦听端口443(启用SSL

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

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

${CARBON_HOME}/repository/conf/tomcat/catalina server.xml中的更改

<WebContextRoot>/sso</WebContextRoot>
<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/passiveests
    会将我重定向到碳管理员登录(
    /sso/carbon/admin/login.jsp
    ),使用302而不是
    /sso/commonauth
  • 在以管理员身份登录WSO后,它的工作方式与预期相同,但随后我被重定向到
    /authenticationendpoint
    ,而不是
    /sso/authenticationendpoint
    。因此,我在
    ${CARBON_HOME}/repository/conf/security/application authentication.xml
    中将AuthenticationEndpointURL更改为
    /sso/authenticationendpoint/login.do
    。但随后我收到http错误405(不允许使用GET方法)

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

我也有同样的问题。。您是否设法解决了这两个问题?即使是更新的版本(WSO2是5.0.0.SP1),症状似乎也是一样的
<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"/>