【问题标题】:How do you start a java servlet over https?如何通过 https 启动 java servlet?
【发布时间】:2012-04-22 23:21:58
【问题描述】:

我正在尝试在 eclipse 中的 tomcat 上运行一个 servlet。当我在服务器上运行时,servlet 运行并为我提供如下链接:

“http://localhost:8443/AuthServer/Server”

我已为 SSL 配置了我的 Tomcat 服务器,如下所示:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Users\owner\.keystore" keystorePass="sheetalkshirsagar">

当我在服务器上运行 servlet 时,它仍然使用 http。 我希望我的 servlet 链接是“https://...”而不是“http://..”。你是怎么做到的?

【问题讨论】:

  • 你能发布你的整个 server.xml 文件吗?
  • @dash1e,他的Connector 设置是正确的。在下面阅读我的答案。

标签: java tomcat servlets ssl


【解决方案1】:

如果您想确保在向该 servlet 发送请求时使用 https 协议,则需要更改 Web 应用程序中的 WEB-INF/web.xml 文件。 在您的情况下添加此配置参数:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>AuthServer</web-resource-name>
        <url-pattern>/Server</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

【讨论】:

    【解决方案2】:

    TOMCAT_HOME/conf 文件夹中,有一个名为web.xml 的文件。在那里,你必须添加一个security-constraint 元素。

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>secured page</web-resource-name>
            <url-pattern>/...</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>CONFIDENTIAL</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
    

    确保&lt;url-pattern&gt; 与您想要保护的路径相匹配。

    【讨论】:

    • 不要更改全局 web.xml 上的该参数,否则它将对该 Tomcat 上运行的每个 Tomcat 应用程序有效。但是在你的应用程序的WEB-INF 下使用web.xml
    • @dash1e,请考虑阅读我在帖子中的最后声明。是的,您可以将其添加到您的 WEB-INF/web.xml,但 OP 想要配置 Tomcat 来执行此操作。
    • 在 WEB-INF/web.xml 中设置它是在配置 Tomcat 来执行它。
    【解决方案3】:

    如果我正确理解了您的问题,那么您是从您的 servlet 提供的网页中发布 http 的 URL。
    如果您需要将请求更改为https,则应将redirect 您的普通http 连接器(在端口808080 中)连接到端口443 的连接器。
    如果你用谷歌搜索tomcat redirect http to https,你会发现很多链接,例如redirect tomcat to https

    但如果您对真正的安全感兴趣,我建议您不要重定向

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-20
      • 2012-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多