-3

类似于这个问题,但没有得到答复。我希望有一个分步指南,说明我需要更改哪些文件以及我的 maven web-app 项目中的哪些内容,以确保与我的 webapp 的所有连接都是通过 ssl 进行的。我在搜索中发现了这个,但它似乎写得很糟糕,从 2006 年开始,不包括 maven。您可以提供的任何帮助将不胜感激。

4

2 回答 2

2

我想问一个问题以澄清,但我的代表还不允许 - 所以我会尽力回答。大多数情况下,我不清楚您是要使用 Tomcat 服务器还是 Maven 插件提供的嵌入式 Tomcat 实例。

首先,我通常将 http 重定向到 https 的设置是使用带有 mod_rewrite 规则的 Apache Web 服务器。

话虽如此,如果我正确理解您要完成的工作,是您想使用 Maven 动态配置您的 WEB-INF/web.xml 或任何其他适用于您的应用程序的上下文配置,作为构建配置的一部分Tomcat 将 http 页面请求重定向到 https。 是Tomcat中将http请求重定向到https的示例

我将如何解决这个问题是确保为您的 Tomcat 实例配置了 Maven settings.xml。例如:

<settings>
    <servers>
        <server>
            <id>myserver</id>
            <username>admin</username>
            <password>admin</password>
         </server>
</servers>

如果要在 Maven-Tomcat 插件中使用嵌入式 Tomcat 服务器,则需要将 pom.xml 编辑为如下内容:

<build>
<finalName>sw</finalName>
<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <version>2.0</version>
        <configuration>
                 <server>myserver</server>
                 <path>/sw</path>
        </configuration>
    </plugin>
</plugins>

然后,在 pom.xml 的 maven-tomcat-plugin 设置中,您可以按照上面的示例配置指南,根据此规范指定插件参数。我会指定参数,如<contextFile>, <httpsPort>, <keystoreFile>, <keystorePass>, <tomcatWebXml>, and <warSourceDirectory>

恐怕如果您想为现有的 Tomcat 服务器(不是嵌入式 Maven)动态配置 web.xml、context.xml 或 server.xml,您不应该使用 Maven 来执行此操作。相反,您应该提前编辑这些文件,然后相应地配置 tomcat:deploy 目标。

于 2013-01-04T02:53:52.140 回答
1

您的第一个链接确实得到了回答;关于您的第二个链接,我没有看到任何写得不好或过时的东西;而 Maven 是一种构建技术,与运行时发生的事情无关,这由应用程序本身决定。如那篇文章所述,这完全取决于您在 web.xml 中添加的内容。

于 2013-01-04T02:15:08.663 回答