您的位置:首页 > 理论基础 > 计算机网络

Tomcat下启用https://访问(单向)

2014-05-04 20:36 281 查看

创建.keystore文件

通过JDK自带的keytool即可创建,命令如下:

keytool -genkey -alias tomcat -keyalg RSA

依次依照提示输入即可,执行完成,会在当前用户目录下产生一个.keystore文件。

启用HTTP/1.1连接器

修改%TOMCAT_HOME%/conf/server.xml文件:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="${user.home}/.keystore" keystorePass="123456" />

其中keystorePass为第一步设置的密码。

在浏览器中,输入https://localhost:8443,如果能看到Tomcat的首页,表示启用https成功。

通过以上两步,Tomcat已经成功启用https://访问,但是,如何让http自动跳转到https呢,即输入http://localhost:8080,页面自动定向到https://localhost:8443。

http自动跳转到https

修改conf/web.xml文件,在</web-app>前增加如下内容:

<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection>
<web-resource-name>SSL</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:8080,如地址栏跳转至https://localhost:8443,则配置成功。

总结

通过以上配置,实现了单向(服务器端)https启用,服务器证书也是使用了默认的配置信息,有兴趣的,可以查看keytool的更详细参数。

对于双向的话,则还需要配置客户端,在客户端访问的时候需要下载并安装证书,具体方法本文不做介绍。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Tomcat HTTPS