配置Tomcat以使用SSL
问题描述:
我的第一个问题 - 是不是可以使用https而不使用数字证书? 我的第二个问题 - 我在我的web应用程序中确保了几页。因此,添加以下内容配置Tomcat以使用SSL
<security-constraint>
<web-resource-collection>
......
</web-resource-collection>
<auth-constraint>
......
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
我试着运行该应用程序,并且启用了ssl的页面未加载。所以我继续创建证书。在server.xml中添加了以下内容?
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150"
scheme="https"
secure="true"
keystoreFile="C:\Program Files\apache-tomcat-7.0.11-windows-x86\apache-tomcat-7.0.11\.keystore"
keystorePass="johneipe"
clientAuth="optional"
sslProtocol="TLS" />
仍然我无法访问这些页面,也没有https://localhost:8443。
答
您的协议更改为 protocol="org.apache.coyote.http11.Http11Protocol"
这将解决这一问题。
答
你使用什么格式的keystore?我相信Tomcat配置中的默认值是JKS,但如果您使用的是PKCS#12(.p12或.pfx扩展名),则需要指定。
请注意keystoreType =“PKCS12”。
<Connector port="1443"
maxThreads="200"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" debug="0" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" SSLEnabled="true"
keystoreFile="/opt/companyName/tomcat.keystore"
keystoreType="PKCS12"
keystorePass="password"
ciphers="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA"
URIEncoding="UTF-8"
/>
这不适用于公共互联网应用。这是测试。 – John
另外我创建了keytool -genkey -alias tomcat -keyalg RSA -validity 100'的密钥,并将.keystore文件复制到上面提到的目录中。 – John