Can';t登录负载平衡器后面的WSO2碳
我有一个WSO2IS 5.0.0实例在负载平衡器后面的VM上运行。负载平衡器侦听端口443上的HTTPS,处理所有SSL并将普通HTTP转发到端口80上的VM 我已将WSO2IS实例配置为在catalina-server.xml中的端口80上只有一个HTTP连接器,并将配置中可以找到的所有URL配置为使用HTTPS指向负载平衡器 我可以通过443 fine上的负载平衡器访问carbon webapp。但是,当我成功登录时,webapp会在端口80上返回到HTTP的重定向,而不是在端口443上返回它应该返回的HTTPS。这使得碳网络应用程序无法使用 如果我在catalina-server.xml中更改HTTP连接器中的proxyPort,它会返回到端口443的重定向-但URL是纯HTTP,而不是HTTPS,因此仍然失败 即使tomcat本身正在通过HTTP进行监听,我如何告诉carbon发送一个重定向到HTTPSCan';t登录负载平衡器后面的WSO2碳,wso2,wso2is,Wso2,Wso2is,我有一个WSO2IS 5.0.0实例在负载平衡器后面的VM上运行。负载平衡器侦听端口443上的HTTPS,处理所有SSL并将普通HTTP转发到端口80上的VM 我已将WSO2IS实例配置为在catalina-server.xml中的端口80上只有一个HTTP连接器,并将配置中可以找到的所有URL配置为使用HTTPS指向负载平衡器 我可以通过443 fine上的负载平衡器访问carbon webapp。但是,当我成功登录时,webapp会在端口80上返回到HTTP的重定向,而不是在端口443上返回
提前谢谢 在这种情况下,您可以使用代理端口 您可以在tomcat/catalina-server.xml中配置2个连接器,如下所示。http url仍将重定向到https url。你是说管理控制台是webapp吗
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="9763"
proxyPort="80"
bindOnInit="false"
maxHttpHeaderSize="8192"
acceptorThreadCount="2"
maxThreads="250"
minSpareThreads="50"
disableUploadTimeout="false"
connectionUploadTimeout="120000"
maxKeepAliveRequests="200"
acceptCount="200"
server="WSO2 Carbon Server"
compression="on"
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"/>
<Connector protocol="org.apache.coyote.http11.Http11NioProtocol"
port="9443"
proxyPort="443"
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"/>
您应该在etc/hosts文件中具有到负载平衡器的映射,如下所示:
is.50.com
在您的负载平衡器中,您应该具有以下功能。例如,apache2
<Virtualhost *:443>
ServerName is.50.com
ServerAlias is.50.com
ProxyPreserveHost On
SSLEngine On
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
stickysession=JSESSIONID
ProxyPass / https://<carbonIP>:<port>/
ProxyPassReverse / https://<carbonIP>:<port>/
</Virtualhost>
服务器名是.50.com
ServerAlias.50.com
代理主机
斯伦金安
SSLProxyEngine打开
SSLProxyVerify无
SSLProxyCheckPeerCN关闭
SSLProxyCheckPeerName关闭
SSLCertificateFile/etc/apache2/ssl/apache.crt
SSLCertificateKeyFile/etc/apache2/ssl/apache.key
命令拒绝,允许
通融
stickysession=jsSessionId
ProxyPass/https://:/
ProxyPassReverse/https://:/
然后您的访问URL将如下所示
或
这将重定向到https。感谢您的及时回复!是的,我指的是管理控制台webapp。您的示例是通过HTTPS从负载平衡器连接到服务器。我想使用从负载平衡器到服务器的普通HTTP,只需从负载平衡器向公众提供HTTPS,以避免在服务器上运行不必要的加密,这将导致大量流量。您知道如何做到这一点吗?通过在catalina-server.xml中配置HTTPs,它将只分配9443端口。因此,您无法避免使用https端口。您还可以通过在carbon.xml中启用lower属性来尝试另一个选项。这样,您就可以通过http使用管理控制台。但是,除非在catalina-server.xml中启用https,否则重定向到https将无法工作。你可以关注这篇博文[1]。是的,这很有效!我发现我还必须在carbon.xml中启用“*”,并在catalina-server.xml的连接器配置中设置proxyPort=“443”和scheme=“https”。非常感谢。