阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

1.背景

       之前公司项目是在阿里云服务器上面运行,用的是http访问,项目部署到tomcat上面。最近在要求上线个小程序,要从项目调用接口,但是微信小程序只支持https的访问,所以面临一个将http升级为https的问题。

2.阿里云下载安装SSL证书流程

参考资料:https://blog.csdn.net/s_t_ruggle/article/details/80751606

经过查资料发现http升级为https要在服务器安装一个SSL证书,阿里云自己就提供免费的SSL证书,为期1年的,收费的应该好点。还有其他免费的SSL证书申请方式,自己网上查找,我这边用的是阿里云的。

2.1 证书申请

 

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

①选择域名->管理

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

②点击完管理以后会出现上图,有个免费开启SSL证书,点击。

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

③点击完就出现了上图,上图左边是收费版,右边是免费版本,有钱选择左边,没钱选择右边的免费版,免费版本选择完以后,下面有个要申请的域名,下面的说明是"填写*,表示适用于当前网站的所有二级域名",这个*只能在你买的是收费版时候才可以用,所有如果你是免费版的而且要用到二级域名的话,那么只能填写一个二级域名,比如aaa.hao123.com,这样的格式。填完以后点击申请就好了。如果需要用到好几个二级域名,那么同样的步骤多申请几个就好了。

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

④点击申请以后出现上面页面,可以看到未签发状态是1,如果没问题,你点击此页的申请,然后跟着走就行了,过几分钟刷新一下。正常就通过了,然后可以看到已签发那里会有显示。

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

⑤已签发这边可以看到你刚才申请的SSL证书,然后点击下载,在右边会显示下载页面和帮助,帮助里面是一些安装介绍,点击下载会下载俩个文件,如下图,一个是证书,一个是密码。

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

⑥下载完是一个压缩包,解压完里面有俩个文件,后缀pfx的是证书,另一个txt的是证书对应的密码。


2.2 证书安装

参考:1.https://help.aliyun.com/knowledge_detail/95496.html?spm=5176.2020520154.cas.24.3f00nCtRnCtRdv阿里云的安装帮助文档,但是我照着他这个没弄出来。

2.https://blog.csdn.net/z_xuewen/article/details/78176509     配置单个pfx证书

3.https://blog.csdn.net/zzmtkj/article/details/83317601    tomcat配置多个jks证书。

以linux为例

2.2.1 配置单个pfx证书

配置证书步骤

(1)、解压下载的证书压缩包,复制20165323****.pfx和pfx-password.txt两个文件。

(2)、找到tomcat安装目录,进入conf文件夹,新建cert文件,将证书及密码复制到文件夹下。

(3)、找到server.xml文件,通过修改xml文件对tomcat进行ssl证书配置,复制以下代码到server.xml文件中

<Connector port="443"
    protocol="org.apache.coyote.http11.Http11Protocol"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/20165323****.pfx"
    keystoreType="PKCS12"
    keystorePass="证书密码"
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>


【注】建议默认端口为443,在protocol中建议使用“org.apache.coyote.http11.Http11Protocol”,这样对性能有最大的优化。(但是这样会不支持中文URIEncoding="UTF-8"哦,中文会出现乱码。建议还是HTTP/1.1)用HTTP证书路径keystoreFile建议使用绝对路径,可以确保tomcat对证书的加载正常,证书密码填写刚才pfx-password.txt里的密码。
(4)、确认无误后,保存配置,重启tomcat。就可以对tomcat服务器进行https://域名的访问了。


2.2.2 配置多个SSL证书,用JKS证书

示例可以看上面参考文档3。

由于我微信小程序中使用了多个二级域名,所以需要配置多个SSL。

<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true" defaultSSLHostConfigName="www.zzmtkj.com.cn">
        <SSLHostConfig hostName="www.zzmtkj.com.cn">
            <Certificate certificateKeystoreFile="cert/mt/zzmtkj.jks" certificateKeystorePassword="你的密码" keystoreFile="cert/mt/zzmtkj.jks"
keystorePass="你的密码" type="RSA" />
        </SSLHostConfig>
		
		 <SSLHostConfig hostName="www.yujianpalao.com">
            <Certificate certificateKeystoreFile="cert/pl/yjpl.jks" certificateKeystorePassword="你的密码" keystoreFile="cert/pl/yjpl.jks"
keystorePass="你的密码" type="RSA" />
        </SSLHostConfig>
		
		<SSLHostConfig hostName="www.fcrssm.com">
            <Certificate certificateKeystoreFile="cert/rs/fsrssm.jks" certificateKeystorePassword="你的密码" keystoreFile="cert/rs/fsrssm.jks"
keystorePass="你的密码" type="RSA" />
        </SSLHostConfig>
		
    </Connector>	

步骤和上面一样,不一样的地方就是配置文件里面的内容,配置多个SSL证书这里面用到的是jks格式的证书,所以要把之前下载的pfx证书转化为jsk证书。转化方式看下面,也可以看参考文档1,是阿里云的官方文档,里面也有。

( 1 ) 使用java jdk将PFX格式证书转换为JKS格式证书(windows环境注意在%JAVA_HOME%/jdk/bin目录下执行)

keytool -importkeystore -srckeystore a.pfx -destkeystore a.jks -srcstoretype PKCS12 -deststoretype JKS

我是在我linux下面tomcat中cert文件夹中使用的这个命令转化的,注意修改命令中的文件名为自己的证书名字。

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

这个是我转化完的文件,运行完那个命令时候会要求填入几次密码,最好使用pfx的那个密码就好了。

这样配置完以后就可以正常通过https访问网站页面了,或者调用对应接口。http和https都可以使用。


如果有帮助,求支持。1分不嫌少^_^

阿里云服务器域名http升级为https访问,SSL证书下载安装全流程

上一篇:[Java源码解析] -- String类的compareTo(String otherString)方法的源码解析


下一篇:tomcat 添加ssl 证书