保持tomcat启动状态,开始操作:
1. 将准备工作中下载的letsencrypt-win-simple.V1.9.1.zip文件解压到桌面
2. 管理员身份运行cmd,进入到该文件目录
3. 执行下面的命令:
letsencrypt.exe --manualhost www.wangjie123.cn --webroot"C:\Program_Files\apache-tomcat-7.0.26\webapps\flower"
--manualhost : 是你的域名
--webroot:是你发布的web项目的根目录4. 接着会提醒你设置邮箱
5.输入邮箱并回车
输入y,接着就开始在你web项目的根目录生成验证文件(在即apache-tomcat-7.0.26\webapps\项目名下,生成一个文件夹.well-known及一个子文件夹acme-challenge,验证文件就在子文件夹中),并验证(这个过程是自动的,无需对其进行操作)
即下图:(这时在验证,所以走的有点慢)
不成功如下图:
如果这里是invalid 说明验证不成功,检查tomcat配置是否正确,是否处于启动状态,Let’s Encrypt是否是在桌面。删除在webapps/你的项目目录下自动生成的文件,从2重来。
6. 成功则开始在你的服务器上生成需要的证书
这里直接输入y,因为我之前有过操作,所以需要删除之前的任务,如果是第一次操作直接是下图:
输入y
7. Let’s Entrypt生成的证书90天后就到期了,需要再次认证,这里输入y,会让你输入当前服务器管理员的用户名和密码:
用于到期后自动帮你生成验证脚本,自动续期(没有验证)。
至此,证书生成成功。
1. 对tomcat\conf目录下server.xml,进行配置
a. 找到:
将8443修改为443,https的默认端口号位443
b. 找到:
去掉上面被注释的部分注释,并改为下面代码:
<Connector port="443" maxHttpHeaderSize="8192" maxThreads="150" enableLookups="false" disableUploadTimeout="true" acceptCount="100" scheme="https" secure="true" SSLEnabled="true" SSLCertificateFile="C:/Users/Administrator/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/www.wangjie123.cn-crt.pem"SSLCertificateKeyFile="C:/Users/Administrator/AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/www.wangjie123.cn-key.pem" />SSLCertificateFile:生成的证书文件的路径
SSLCertificateKeyFile:生成的秘钥文件的路径
现在,重启tomcat,使用https就可以直接访问你的主页了,但是此时并不是自动跳转,如果不手动输入https,直接输入域名的话,还是http协议进行访问。c. 对tomcat\conf文件夹中的web.xml文件进行配置
双击打开,拖到文件末尾,在如图光标位置中
添加以下代码:
<security-constraint> <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> 重启tomcat,大功告成!