Tomcat 9上下文docBase重定向到https

时间:2018-01-15 15:31:38

标签: tomcat redirect https tomcat9 docbase

我在Ubuntu上遇到Tomcat 9配置问题。我在Tomcat下部署了1个应用程序。创建SSL并将HTTP重定向到HTTPS。我的appliaction名称例如 - 示例:) 所以我有这个:

我的server.xml配置文件的一部分:

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="60000"
           redirectPort="443"
           enableLookups="false"
           useBodyEncodingForURI="true"/>

<Connector port="443" protocol="HTTP/1.1"
           maxThreads="150"
           SSLEnabled="true"
           scheme="https"
           secure="true"
           clientAuth="false"
           sslProtocol="TLS"
           keystoreFile="path to cert"
           keystoreType="PKCS12"
           keystorePass="cert password"/>

在web.xml的EOF中我有:

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

重定向工作正常,当我输入http://localhost时,我会自动重定向到HTTPS,但前提是我输入http://localhost。当我输入http://localhost/example时 - 重定向不起作用,为什么?

所以,我在webapps / ROOT中添加了index.jsp:

<%
String redirectURL = "/example";
response.sendRedirect(redirectURL);
%>

重定向工作正常

所以,我想永久重定向&#34;示例&#34; root,所以我添加到我的server.xml内容:

<Context path="" docBase="example" debug="0" reloadable="true"></Context>

重定向工作正常,当我输入http://localhost时,我看到了示例的内容。但是存在问题 - 在添加&#34; context&#34;之后,HTTP-HTTPS重定向不起作用。为什么?我花了半天时间使用Tomcat配置,但我不知道为什么重定向在添加上下文后不起作用。

1 个答案:

答案 0 :(得分:0)

尝试将您的应用程序称为ROOT。这对我有用:)