在Tomcat上配置SSL |获取空白文件

时间:2015-10-19 14:57:07

标签: java tomcat ssl

我正在使用

生成证书
  

keytool -genkey -alias xyz -keyalg RSA -keystore xyz1

并将其导入

  <Connector port="8443"
    protocol="org.apache.coyote.http11.Http11Protocol"
    maxThreads="25" SSLEnabled="true" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS" keystoreFile="/Users/xyz/keytool/xyz1" keystorePass="HelloHello"/>

根据catalina日志,tomcat已成功启动

  

2015年10月19日上午7:52:38 org.apache.coyote.AbstractProtocol start INFO:   启动ProtocolHandler [“http-bio-8443”]

现在,当我尝试访问HTTPS localhost:8443上的网站页面时,会下载一个7字节的空白文件,其中包含一些特殊字符。

tomcat日志中没有错误。

1 个答案:

答案 0 :(得分:0)

你可以看到我工作的ssl配置:

    <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
           maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
           keystoreFile="conf/tomcat.keystore" keystorePass="*********"
           clientAuth="false" sslProtocol="TLS" URIEncoding="UTF-8"/>

密钥库文件存储在相对于CATALINA_HOME参数的文件夹中。 也许路径有问题?

尝试将其相对于tomcat根文件夹。

要检查的另一件事: 你在浏览器中写过https://localhost:8443/[your_war_path]吗?

编辑: 另外,请在web.xml中查看您作为联盟发送数据的情况 例如:

 <security-constraint>
    <display-name>Unsecured</display-name>
    <web-resource-collection>
        <web-resource-name>Unsecured area</web-resource-name>
        <url-pattern>/login.html</url-pattern>
        <url-pattern>/passwordReset.html</url-pattern>
        <url-pattern>/public/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>