技术专栏

当前位置:首页>新闻中心>技术专栏
全部 49 公司动态 15 行业动态 11 技术专栏 23

(Tomcat 配置ssl)在微信小程序上使用时的注意点

时间:2023-01-16   访问量:94

(Tomcat 配置ssl)在微信小程序上的注意点

一,配置步骤

安装证书

Tomcat支持JKS格式证书,从Tomcat7开始也支持PFX格式证书,两种证书格式任选其一。

文件说明:

(1)证书文件214092479090051.pem,包含两段内容,请不要删除任何一段内容。

(2)如果是证书系统创建的CSR,还包含:证书私钥文件214092479090051.key、PFX格式证书文件214092479090051.pfx、PFX格式证书密码文件pfx-password.txt。


1、证书格式转换

在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,附件中只包含214092479090051.pem文件,还需要将私钥文件拷贝到cert目录,命名为214092479090051.key;如果是系统创建的CSR,请直接到第2步。

到cert目录下执行如下命令完成PFX格式转换命令,此处要设置PFX证书密码,请牢记:

openssl pkcs12 -export -out 214092479090051.pfx -inkey214092479090051.key -in 214092479090051.pem


2、PFX证书安装

找到安装Tomcat目录下该文件server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connectionport="8443" 标签,增加如下属性:

keystoreFile="cert/214092479090051.pfx"

keystoreType="PKCS12"


#此处的证书密码,请参考附件中的密码文件或在第1步中设置的密码

keystorePass="证书密码"


完整的配置如下,其中port属性根据实际情况修改:

<Connector port="8443"

protocol="HTTP/1.1"

SSLEnabled="true"

scheme="https"

secure="true"

keystoreFile="cert/214092479090051.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"/>


3、JKS证书安装

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

keytool -importkeystore -srckeystore 214092479090051.pfx-destkeystore your-name.jks -srcstoretype PKCS12 -deststoretype JKS

回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。

( 2 ) 找到安装 Tomcat 目录下该文件Server.xml,一般默认路径都是在 conf 文件夹中。找到 <Connectionport="8443" 标签,增加如下属性:

keystoreFile="cert/your-name.jks"

keystorePass="证书密码"


完整的配置如下,其中port属性根据实际情况修改:

<Connector port="8443"

protocol="HTTP/1.1"

SSLEnabled="true"

scheme="https"

secure="true"

keystoreFile="cert/your-name.jks"

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"/>


( 注意:不要直接拷贝所有配置,只需添加 keystoreFile,keystorePass等参数即可,其它参数请根据自己的实际情况修改 )


4、 重启 Tomcat。

5、 通过 https 方式访问您的站点,测试站点证书的安装配置,如遇到证书不信任问题,请查看相关文档。

————————————————————————————————————————————————


二,因为微信小程序访问时必须默认端口  443  , 所有首先得保证443端口不被其他程序占用,如果被占用可修改其他程序的端口


三,因为一个IP可以绑定多个域名  , 而数字证书只能绑定唯一一个域名,所有要认准是那个域名,eg:  www.xxx.com 而不是 www.ttt.com等   tomcat 配置时要准备区分


四,如果以上配置都没有问题的话, 那么访问就能获取正常数据,但是只有用数字证书绑定的域名访问  地址栏中的锁才是正常的 绿色或是金黄色 , 没有红色斜杠。


五,tip,  如果不想改变原有程序的访问端口 那么可以用 Nginx 做反向代理 ,代码入下:conf.xml 里加

server {

listen 443;

ssl on;

        root html;

        index index.html index.htm;

server_name        www.xxx.com;

ssl_certificate       cert/214092479090051.pem;

ssl_certificate_key   cert/214092479090051.key;

ssl_session_timeout 5m;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_prefer_server_ciphers on;

location ^~ /xxx/ {

proxy_pass   http://www.xxx.com:8888/xxxx/;

            proxy_redirect  off;

            proxy_set_header  X-Real-IP $remote_addr;

            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;

}

}


六,ios 和 Android  方面, 只需配置到有绿色安全锁出现, 那个其访问时只需加上 个s   -------->  https 就可以了,不需要什么密钥乱七八糟的东西, 两个程序之间的请求也是可以的,只需加s,把数字证书域名配好就能实现你想要的东西。 


上一篇:阿里云免费ssh证书的免费购买,创建、下载、部署证书详细步骤

下一篇:如何把阿里云备案的域名用在腾讯云服务器上

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部