HTTPS(SSL / TLS)免费证书申请及网站证书部署实战总结
服务器环境:windows server 2008 + tomcat7
废话不多说,先看部署效果:
一、免费证书申请
Let's Encrypt 简介:let's Encrypt 是一个免费的开放的非盈利证书颁发机构,截至2018年7月底,Let's Encrypt root(ISRG Root X1)直接受到Microsoft产品的信任。
目前受到所有主要root程序的信任,包括Microsoft,Google,Apple,Mozilla,Oracle和Blackberry。即所有主流操作系统环境及浏览器均已信任该机构颁发的证书。
******************************************************************
根据官方的要求,我们在VPS、服务器上部署Let's Encrypt免费SSL证书之前,需要系统支持Python2.7以上版本以及支持GIT工具。这种方式没有研究过,有兴趣的
小伙伴可以研究下。
这里我们采用LEGainer - windows下Let's Encrypt证书申请工具来申请证书(申请成功的前提是网站能通过域名正常访问,如果还没有搭建好网站,可以先搭建网站,再申请ssl证书)
第一步:工具下载地址:https://pan.baidu.com/s/1BVKwXccF7m2AkDWgWh480A
第二步:解压工具,修改配置
解压文件后打开LEGainer.exe.config 修改配置节点
如下图:
Mail:是你的联系邮箱
Domain:是你要申请证书的域名
WebDir:是你网站的本地目录,LEGainer在申请证书过程中会在此目录生成文件,Let's Encrypt会通过域名访问生成的文件,所以请确保域名正确解析和绑定。
CertificateSaveDir:是证书申请下来后的保存目录。
PFXPassword:是pfx证书的密码。
第三步:在域名所在的主机,运行LEGainer.exe 生成证书;
出现“success!~Enter press any key exit!”字样时,证书就生成成功了。
假设你申请证书的域名为:www.travellight.xyz,那么LEGainer会生成如下几个证书文件:
_certificate.der 是证书文件,der格式
_certificate.pem 是证书pem格式
_csr.pem 是证书签名请求文件
_key.pem 是私钥文件
_pkcs12.pfx 是iis用的存放证书和私钥的文件
_chain.pem 是证书链
第四步:合成tomcat需要的.jks证书
这里我采用在线生成 当然也可以自己用工具生成
在线合成地址:https://www.myssl.cn/tools/merge-jks-cert.html
密钥文件(KEY文件):www.travellight.xyz_key.pem
证书文件(CRT/CER文件):www.travellight.xyz_certificate.pem
合成时需填写JKS密码(一定要记住,tomcat配置中需要填写),合成后会生成JKS文件 我生成的是 travellight.jks
第五步:将travellight.jks 文件拷贝至服务器tomcat conf 目录中,修改tomcat配置
打开 tomcat/conf 目录下server.xml文件修改配置:
(1)一般tomcat7中该段配置默认是注释掉的,去掉注释,按如下添加配置并将默认端口8443改为443(修改原因:实测如果使用8443作为ssl端 口,http[http://www.travellight.xyz]重定向时浏览器网址栏中会在域名后带上8443端口如:https://www.travellight.xyz:8443,
直接用https://www.travellight.xyz无法访问网站,使用443端口则不存在此问题)
(2)修改以下两处重定向端口
第六步: 开启443外网端口
如果不开启443端口,则无法使用https证书功能,我使用的是阿里云服务器ECS,通过管理控制台-安全组规则可开放外网端口,
如果是其他云服务器或自己的路由器请自行搜索开启外网端口方法
第七步: 重启tomcat,浏览器访问网址
前缀自动显示为https.谷歌浏览器地址栏中有个锁的图标
至此完成!!!
**************************************************************
参考内容:
http://www.laozuo.org/7676.html
https://www.cnblogs.com/asminfo/p/6801558.html
https://blog.csdn.net/l_ai_yi/article/details/81671946
HTTPS(SSL / TLS)免费证书申请及网站证书部署实战总结的更多相关文章
- HTTPS SSL TLS 相关理解
1,在理解 HTTPS SSL TLS 之前先对常用的加密方式进行一个简述: (1),对称加密: 采用一个密钥,对明文进行加密生成密文,相反采用此密钥可对加密后的密文进行解密还原成明文. 代表算法有, ...
- 在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) -- 学习
在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) IS 7如何实现http重定向https HTTPS 升级指南
- 简而意赅 HTTP HTTPS SSL TLS 之间有什么不同
HTTP HTTPS SSL TLS 之间有什么不同? SSL是Secure Sockets Layer的缩写.SSL的作用是为网络上的两台机器或设备提供了一个安全的通道. TLS是SSL的一个新的名 ...
- [skill][https][ssl/tls] HTTPS相关知识汇总
结论前置: A 身份验证 证书, 服务器证书 B 密钥协商 RSA DHE / ECDHE PSK C 加密通信 加密通信采用对称加密,使用B阶段协商出来的密钥. B 阶段如果使用 RSA 协 ...
- https ssl(tls)为什么不直接用公钥加密数据?
很多人都提到了非对称加密速度慢,但这只是一个原因,但不是主要原因,甚至是微不足道的原因. SSL协议到3.0后就已经到头了,取而代之的是TLS,相较于SSL的"安全套接字层"的命名 ...
- HTTPS(SSL/TLS) 原理之深入浅出
注:本文参考自网络上的多篇HTTPS相关文章,本人根据自己的理解,进行一些修改,综合. 1. 必要的加密解密基础知识 1)对称加密算法:就是加密和解密使用同一个密钥的加密算法.因为加密方和解密方使用的 ...
- HTTPS SSL/TLS协议
要说清楚 HTTPS 协议的实现原理,至少需要如下几个背景知识.1. 大致了解几个基本术语(HTTPS.SSL.TLS)的含义2. 大致了解 HTTP 和 TCP 的关系(尤其是“短连接”VS“长连接 ...
- win10系统iis下部署搭建https (ssl/tls)本地测试环境
有时想要把公司的某些XX项目部署成https站点,是为了在传输层加密传输,防止他人嗅探站点重要数据信息,平常我们使用的http方式都是明文方式传输的很不安全,容易被他人窃取.而有些时候要在本地搭建ht ...
- Nginx+HTTPS(SSL/TLS)
环境 首先确保机器上安装了openssl和openssl-devel rpm -qa | grep openssl #yum install openssl #yum install openssl- ...
随机推荐
- 并发编程(CountDownLatch使用)
一.简介: Latch意思是:门闩的意思,形象的来说await就是拴上门闩,等到门闩释放后当前线程开始工作. 下面是来自简书上的解释: CountDownlatch是一个多功能的同步工具,可以被用于各 ...
- python处理文件的换行符
我们知道在Windows平台下的换行符是\r\n,而在linux下的换行符是\n.现在写一个简单程序来测试python是如何处理这些换行符的. 准备文件data.txt,该文件在Windows平台下编 ...
- Spring 学习笔记(十)渲染 Web 视图 (Apache Tilesa 和 Thymeleaf)
使用Apache Tiles视图定义布局 为了在Spring中使用Tiles,需要配置几个bean.我们需要一个TilesConfigurer bean,它会负责定位和加载Tile定义并协调生成Til ...
- Qt编写自定义控件11-设备防区按钮控件
前言 在很多项目应用中,需要根据数据动态生成对象显示在地图上,比如地图标注,同时还需要可拖动对象到指定位置显示,能有多种状态指示,安防领域一般用来表示防区或者设备,可以直接显示防区号,有多种状态颜色指 ...
- cf 1114E
为什么这道题我到现在才写题解... 题解: 因为是随机题吗,,好像对于我来说还是很新颖的,就写一下. rand()的范围是到32768?这个以前踩过坑 #include <bits/stdc++ ...
- linux安装rabbitmq以及相关的操作命令
1.安装rabbitmqa)进入rabbitmq文件的存放目录b)rpm -ivh rabbitmq-server-3.5.4-1.noarch.rpm2.修改配置cd /etc/rabbitmqcd ...
- python 写入Excel
一.安装xlrd模块: 1.mac下打开终端输入命令: pip install XlsxWriter 2.验证安装是否成功: 在mac终端输入 python 进入python环境 然后输入 imp ...
- CString数组和CStringArray
CStringArray是编译器定义的类型!可以进行一些(如:访问.增.删.改)等操作. 集中单个字符串的操作使用Cstring,集中一批字符串的管理使用CstringArray. 一个是动态,CSt ...
- Apache hardoop 的基础知识学习总结
hardoop的主要构成: (1)HDFS 分布式文件系统,解决海量数据存储 (2) YARN 解决资源任务调度(包括作业调度和集群资源调度) (3)MapReduce 解决海量数据计算 集群搭建的步 ...
- 微信小程序开发笔记04
今天将小程序的页面进行优化 消除昨天遇到的bug问题. 完成了微信小程序的开发.