我在设置从8080到端口443的重定向时遇到问题。
这里的情景: 我有一个负载均衡器,监听端口80和443。 端口80的所有请求都转发到负载均衡器后面的主机上的端口8080。 对端口443的所有请求都转发到负载均衡器后面的主机上的端口8443。
当请求来自端口http://address.com时,它在负载均衡器上使用端口80,在主机上使用端口8080,这里一切都很好。
重定向现在应该指向https://address.com:443,而是指向负载均衡器不理解的https://address.com:8443,因此请求会死亡。
我还尝试将https连接器的https端口更改为443(不知道端口信息来自哪里),但没有效果,仍使用端口8443。
任何人都知道我需要更改以允许80 - > 8080 ==> 443 - > 8443?
提前致谢
这里是server.xml HTTP连接器:
<Connector protocol="HTTP/1.1"
port="8080"
address="${jboss.bind.address}"
connectionTimeout="20000"
redirectPort="443"
compression="2048"
compressableMimeTypes="text/html,text/xml,text/plain,text/css,text/javascript"
URIEncoding="UTF-8"/>
这里是相应的HTTPS连接器:
<Connector protocol="HTTP/1.1"
SSLEnabled="true"
port="8443"
address="${jboss.bind.address}"
compression="2048"
compressableMimeTypes="text/html,text/xml,text/plain,text/css,text/javascript"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol = "TLS"
... keystore stuff ...
/>
来自web.xml的机密块
<security-constraint>
<web-resource-collection>
<web-resource-name>Security Required</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
答案 0 :(得分:2)
我在网上搜索了一个解决方法(丢失了我发现的实际页面:()
在server / default / conf / bindingservice.beans / META-INF / bindings-jboss-beans.xml中是对重定向端口进行的xsl转换:
<xsl:when test="(name() = 'redirectPort')">
<xsl:attribute name="redirectPort">
<xsl:value-of select="$portHttps" />
</xsl:attribute>
</xsl:when>
评论出来(将其更改为):
<!--
<xsl:when test="(name() = 'redirectPort')">
<xsl:attribute name="redirectPort">
<xsl:value-of select="$portHttps" />
</xsl:attribute>
</xsl:when>
-->
现在正确重定向。