通过简单的方法在Apache Tomcat上配置SSL证书
欢迎访问李梦园个人博客---静水流深
基本要求
JAVA SDK / JDK
Tomcat(7+)
三个步骤
使用Java创建密钥库文件
配置Tomcat以使用密钥库
配置您的应用程序以使用SSL(通过https://lmyblog.com(您的地址):8443 / your_Application访问)
使用Java创建密钥库文件
打开终端,输入以下:
cd %JAVA_HOME%/bin
cd $JAVA_HOME/bin
Mac上的$ JAVA_HOME位于
“ /System/Library/Frameworks/JavaVM.framework/Versions/ {你的Java版本} / Home /”
将当前目录更改为计算机上已安装Java的目录。 在Java Home目录中,cd到bin文件夹。 在bin文件夹中,有一个名为key tool的文件。 这是负责为我们生成密钥库的文件。
接下来,在终端上输入:
keytool -genkey -alias tomcat -keyalg RSA
输入上面的命令时,它将询问您一些问题。 首先,它将要求您创建一个密码(我的密码是“ lmyblog.com”):
列出如下:
c:/RaxTonProduction/: keytool -genkey -alias tomcat -keyalg RSA
Enter keystore password: lmyblog.com(<------------- Please note, it will be invisible ----------输入密钥库密码:密码(<-------------请注意,它将不可见)
Re-enter new password: lmyblog.com ----------重新输入密码:lmyblog.com
What is your first and last name? -----------您的名字和姓氏是什么?
[Unknown]: www lmyblog com
What is the name of your organizational unit? -----------您的单位部门的名称是什么?
[Unknown]: www lmyblog com
What is the name of your organization? -----------------您的组织名称是什么?
[Unknown]: www lmy com
What is the name of your City or Locality? ------------您所在的城市或地区的名字是什么?
[Unknown]: shanghai
What is the name of your State or Province? -----------------您所在州或省的名字是什么?
[Unknown]: SH
What is the two-letter country code for this unit? -------两位字母的国家/地区代码是什么?
[Unknown]: CN
Is CN=Rakshit Shah, OU=RaxTon, O=RaxTon, L=Ahmedabad, ST=GJ, C=IN correct?
[no]: yes
Enter key password for ----------------------输入密钥密码
(RETURN if same as keystore password): lmyblog.com
Re-enter new password: lmyblog.com ---------------------------------------重新输入新密码
它将在用户主目录中创建一个.keystore文件。 在Windows上,它位于:C:Documents and Settings [username]; 在Mac上,位于/ Users / [用户名];在Linux上,位于/ home / [用户名]。
配置Tomcat以使用密钥库文件SSL Config
打开Tomcat安装目录,然后打开conf文件夹。 在此文件夹中,找到server.xml文件。 打开它。
查找以下声明:
1
<!--
2
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
3
maxThreads="150" scheme="https" secure="true"
4
clientAuth="false" sslProtocol="TLS" />
5
-->
取消注释并修改为类似以下内容:
Connector SSLEnabled="true" acceptCount="100" clientAuth="false"
disableUploadTimeout="true" enableLookups="false" maxThreads="25"
port="8443" keystoreFile="/Users/loiane/.keystore" keystorePass="password"
protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https"
secure="true" sslProtocol="TLS" />
这里添加了keystoreFile,keystorePass并更改了协议声明。
开始测试
启动tomcat服务,然后尝试访问https://lmyblog.com(填写您的地址):8443。 您将看到Tomcat的本地主页。
如果访问默认的8080端口,它也将起作用:http://lmyblog.com(填写您的地址):8080
配置您的应用程序以使用SSL(通过https://lmyblog.com(填写您的地址):8443 / yourApp访问)
要强制您的Web应用程序使用SSL,您只需要将以下代码添加到web.xml文件中(在web-app标签结束之前):1
<security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
url模式设置为/ *,因此来自应用程序的任何页面/资源都是安全的(只能使用https访问)。
如果您要关闭SSL,则无需从web.xml中删除上述代码,只需将
原文链接:
再次感谢您访问李梦园个人博客
推荐阅读
如何在CentOS 7.3的LAMP上安装CMS Made Simple v2.2
版权声明:本文由静水流深发布,如需转载请注明出处。