如何重定向https://开头的请求到http://在resin4.0(How do I redir

2019-09-22 08:44发布

事实上,我得到了重定向HTTP方法为https,因为我在web.xml中添加过滤器。 如,

<security-constraint>
    <web-resource-collection>
        <web-resource-name>SSL</web-resource-name>
        <url-pattern>/xxx/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

在这种情况下,我可以做类似的网址/xxx/*以https模式被请求。 还有一些其他的URL像/yyy/*必须以HTTP模式的要求,所以我怎么能做到这一点?

Answer 1:

在树脂-web.xml中,你可以使用树脂重写标签重定向到一个不同的URL并为您喜欢IfSecure条件。

例如,你的WEB-INF /树脂-web.xml中可能看起来像

<web-app xmlns="http://caucho.com/ns/resin"
         xmlns:resin="urn:java:com.caucho.resin">

  <resin:Redirect regexp="^/xxx/" target="https://myhost.com/xxx/">
    <resin:IfSecure value="false"/>
  </resin:Redirect>

  <resin:Redirect regexp="^/yyy/" target="http://myhost.com/yyy/">
    <resin:IfSecure value="true"/>
  </resin:Redirect>

</web-app>

如果这是你的/ XXX检查的第一场比赛,和SSL连接。 如果不是SSL连接,它重定向到https的主机。 否则,规则将被忽略。

如果这是你的/ YYY检查的第二场比赛,以及SSL连接。 如果它是一个SSL连接,它重定向到HTTP为你的主机。 否则,规则将被忽略。



文章来源: How do I redirect https:// requests to http:// in resin4.0