Tomcat如何配置Https访问方式
来源:互联网 发布:linux 没有wget命令 编辑:程序博客网 时间:2024/05/18 04:01
前提条件:已经下载并安装配置好Tomcat,访问http://localhost:8080的时候会出现tomcat的界面。
第一步:配置hosts文件
添加一行127.0.0.1 codecrazy.cn。这一步不是必要的,只是为了访问的时候效果更好(逼格更高)一点。此时就可以通过http://codecrazy.cn:8080进行访问了。
第二步:生成证书
这里采用JDK自带的keytool工具来生成。
如上图所示,输入红框中的命令:
E:\Java\bin>keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -keypass changeit -validity 365 -keystore e:\sms\tomcat.keystore -storepass changeit
之后需要填写几个问题,最后一个问题填入‘y’并回车。
执行上述命令之后会在e:\sms下面生成一个tomcat.keystore文件,-keystore选项指定存储位置和文件名。如果不指定的话会默认在用户的主目录下生成一个“.keystore”文件,-storepass指定存储密码。 -keypass指定的库密码,这2个密码不需要一样。
具体keytool的用法请参见:http://www.micmiu.com/lang/java/keytool-start-guide/
注意事项:“您的名字与姓氏是什么?”这个问题我写的是“codecrazy.cn”,实践表明这个地方要填你访问网站时的域名。我这里填的是codecrazy.cn。如果没配置hosts文件,而是通过localhost来访问网站,那就填localhost。剩下的几个问题貌似随便填也没什么关系。
第三步:生成证书之后再配置tomcat的conf目录下的server.xml文件
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the BIO implementation that requires the JSSE style configuration. When using the APR/native implementation, the OpenSSL style configuration is required as described in the APR/native documentation --> <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="E:\sms\tomcat.keystore" keystorePass="changeit" clientAuth="false" sslProtocol="TLS" />
port=8443这个Connector的配置初始情况下是注释掉的,去掉注释,并添加上述的一些属性配置。其中keystoreFile填的就是之前用keytool生成的tomcat.keystore文件的路径,keystorePass就是之前keytool命令中-storepass选项中指定的值。
对于protocol有多种配置方法,如是否启用apr的方式,不同的方式有不同的配置,具体可以参考官方文档http://tomcat.apache.org/tomcat-7.0-doc/ssl-howto.html
这里我采用Http11Protocol,它采用的是BIO的方式处理网络连接请求。至于bio,nio,apr三种方式的区别是什么不在本文讨论之列。
然后启动tomcat,在启动过程输出的信息中可以看到多了一个监听在8443端口上的连接处理器,如下图所示:
在中间那一行出现了[“http-bio-8443”]这就是用来处理https安全连接的处理器的名字。8443代表的是在Connector中port指定的值,可以配置成其他的,生产环境中显然是配置成默认的443端口。”http-bio-8443”中间的“bio”是因为我们上面配置的是org.apache.coyote.http11.Http11Protocol,它采用的就是bio的方式来处理网络连接请求。(最前面的“http”感觉输出“https”比较合适一点)
此时通过https://codecrazy.cn:8443访问tomcat还是没有建立安全的连接,因为浏览器中并没有安装证书,https的原理以及如何通过CA认证等不在本文讨论之列。本文采用的是一种叫做自签名证书的方法。
第四步:通过keytool工具来从keystore中导出证书来提供给浏览器使用
-keysotre选项指定的就是之前用keytool生成的keystore文件的路径, -file选项指定的就是导出证书的文件路径,具体如何使用请参见上文提供的使用keytool工具的链接。命令执行完之后就会在e:\sms\目录下面生成一个tomcat.crt的文件。
第五步:将该文件导入到浏览器中
不同的浏览器会有略有差别。对于chrome浏览器来说,在地址栏输入chrome://settings/进入设置界面,再点击最下面的“显示高级设置”然后往下找到
点击“管理证书”,*切换到如下图红框所示“受信任的根证书颁发机构”* tab页
点击导入,再点击下一步,选择“浏览”找到我们上面生成的tomcat.crt文件,然后一路“下一步”,最后完成。
至此大功告成。输入https://codecrazy.cn:8443即可建立https连接。效果如下所示:
地址栏https前面不再是红叉了,而是变成了绿色的,说明已经建立了安全连接。整个过程中有任何疑问,欢迎留言讨论。
以上观点均是“实践表明”,鉴于实践的广度和深度也许不足,不代表论述的正确性和权威性。如有不当之处,还望指正,谢谢!
- Tomcat如何配置Https访问方式
- 如何配置https访问tomcat
- 在Tomcat下配置HTTPS访问方式
- Tomcat配置Https访问
- Tomcat配置HTTPS访问
- tomcat配置https访问
- tomcat https访问配置
- tomcat 配置https访问
- 配置tomcat https访问
- Tomcat配置https访问
- Tomcat配置HTTPS方式
- Tomcat配置HTTPS方式
- tomcat配置HTTPS方式
- tomcat配置https方式
- Tomcat配置HTTPS方式
- Tomcat配置HTTPS访问,强制HTTPS访问
- tomcat如何配置https
- 配置Tomcat的HTTPS访问
- mosquitto在Linux环境下的部署/安装/使用/测试
- 关于命名空间的一些东西。
- Redis 2.8.18 安装报错 error: jemalloc/jemalloc.h: No such file or directory解决方法
- R语言读取csv文件出错
- 服务器端包含SSI(Server Side Include)简介
- Tomcat如何配置Https访问方式
- 数据结构基础加强之最小堆的实现与堆排序
- Hadoop2.8 安装心得
- UESTC 1599 wtmsb 优先队列(最小值优先)
- glide加载圆角图片
- tf.variable_scope和tf.name_scope的用法
- leetcode 108(week 14)
- Mybatis之传多个参数方法总结
- Linux新手路程_一些简单的操作命令