服务器 发布日期:2024/12/27 浏览次数:1
因项目需要须使用https服务,得知阿里云可以免费申请。
我们的前提: 1.有阿里云的服务器账号。
2.申请的域名托管在阿里云的云解析服务
有了这两个前提申请就方便快捷多了。
1.登录阿里云-->安全(云盾)-->证书服务 注: 感谢评友提示, 最新的查找申请证书方式更正一下, 得倒着往上点,symantec---单个域名----免费型
2.选择购买证书
3.在配置单中选择 "免费型DV SSL" 证书提供商品牌为:“赛门铁克”
注意:免费数字证书,最多保护一个明细子域名,不支持通配符,一个阿云帐户最多签发20张免费证书
4.支付 (0元)
5.支付后会看到一条状态为“待完成”的记录,此时千万别以为就可以等待阿里云审核了,其实后面还是有资料要填写的。
6.选择 补全,并填写相应信息。真实填写就可以了。包括:域名、姓名、邮箱等等。因为我的域名是托管到阿里云解析服务的,我的认证方式DNS解析认证
此时有两个情况,第一种 勾选 证书绑定的域名在[阿里云的云解析]产品中,授权系统自动添加一条记录以完成域名授权验证:
1) 勾选了发送cname。填写完成后才是“待审核”状态,等待就可以了。
2) 1个小时左右就会收到阿里云的邮件,接收邮件地址就是在之前填写补全信息的邮件地址。邮件内如如下:
3)邮件的内容:发送给你的 主机记录和记录值,这个应该是阿里云去做的认证审核。
4).登录到你的阿里云域名托管账户,找到你申请证书的域名添加下面信息,注意主机记录和记录值别填写反了
5)等待10分钟,此过程阿里云系统会去检测这条cname,检测到了就成功,此时你的域名证书记录状态为“已签发”
此时有两个情况,第二种 :不要勾选 或者 云推送阿里云-云解析结果失败:
1).不勾选 或者 云推送阿里云-云解析结果失败
2).提交后点击进度或者详情查看申请信息:
3)看到记录值 信息后, 这个信息需要到你的管理账户中配置如下规则,
记录类型:TXT 记录值:要与申请详情的 记录值填写一致.
4)配置好后, 回到申请证书的账户下, 载进度详情中,找到配置检查配置, 点击后 会提示DNS配置正确,请耐心等待.说明验证域名有效性成功...
5) 等待1个小时左右 会看到审核状态我已签发..
7.下载此证书,选择对应的应用服务器,我们用的是tomcat,下载后一个压缩文件,里面包含四个文件。
8.安装证书,我选择的是PFX安装方式:
1、证书格式转换
在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,附件中只包含214014471160602.pem文件,还需要将私钥文件拷贝到cert目录,命名为214014471160602.key;如果是系统创建的CSR,请直接到第2步。
到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记:
openssl pkcs12 -export -out 214014471160602.pfx -inkey 214014471160602.key -in 214014471160602.pem
2、PFX证书安装
找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connection port="8443" 标签,增加如下属性:
keystoreFile="cert/214014471160602.pfx" keystoreType="PKCS12" #此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码 keystorePass="证书密码"
完整的配置如下,其中port属性根据实际情况修改:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="cert/214014471160602.pfx" keystoreType="PKCS12" keystorePass="证书密码" clientAuth="false" ciphers="TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" SSLCipherSuite="ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4"/>
13.重启tomcat14.通过https访问,大功告成。
2017年09月29日: 补充
该免费证书不支持SSLProtocol=TLSv1 .
出现场景:安卓5.0以下版本okHttpClient发起https 请求, 出现connect closed peer 错误. 暂时未找到解决办法.