端口在jboss 5.1窗口中从80重新定向到443

时间:2014-12-23 12:50:05

标签: jboss

我在Windows 64位中使用Jboss 5.1。我还在服务器中部署了一个应用程序。 可以使用端口443通过https访问该应用程序。我没有使用任何前端Web服务器。

我希望将网址 http://example.com/context_root 重定向到 https://example.com/contextroot 。这意味着重定向是从默认的http端口80到默认的https端口443。

当我使用应用程序的上下文根点击URL时,我收到以下错误: 页面无法显示。

我已经在server.xml文件中进行了更改,以便重定向端口:

<!-- A HTTP/1.1 Connector on port 8080 -->
  <Connector protocol="HTTP/1.1" port="80" address="${jboss.bind.address}" 
  connectionTimeout="20000" redirectPort="443" />

有人可以建议我找到最佳解决方案吗?

2 个答案:

答案 0 :(得分:0)

要重定向到https,您需要在应用程序的web.xml中添加以下行:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>Restricted application</web-resource-name>
        <url-pattern>/*</url-pattern>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

请参阅:Specifying a Secure Connection

文档The HTTP Connector说:

  

重定向端口

     

如果此连接器支持非SSL请求,并且请求是   已收到匹配的<security-constraint>需要SSL   运输时,Catalina会自动将请求重定向到   这里指定的端口号。

答案 1 :(得分:0)

我分析并找到了将请求从80重定向到443的方法。

在Windows服务器的bindings.xml文件(C:\ Jboss \ jboss-5.0.1.GA \ server \ default \ conf \ bootstrap)中,将端口从8080更改为80,因为此文件将具有引用到server.xml文件。

 <bean class="org.jboss.services.binding.ServiceBindingMetadata">
           <property name="serviceName">jboss.web:service=WebServer</property>
           <property name="port">80</property>

进行上述更改后,我重新启动服务器一次并使用默认端口点击URL。它被重定向到https(443)。

这有助于强制所有非ssl请求以安全的方式重定向。