给微信小程序选一个ssl证书,怎么选?免费证书可以吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给微信小程序选一个ssl证书,怎么选?免费证书可以吗?相关的知识,希望对你有一定的参考价值。
建议买付费证书免费证书的周期比较短,一旦没有及时申请就会使小程序无法使用。
小程序选ssl证书和普通网站选ssl证书是一样的,所有商用SSL证书均可满足小程序的需求,想要便宜点的可以选择RapidSSL这个品牌的证书,这个品牌有一个基础级的dv域名型单域名证书,价格不贵不到两百元,而一个基础级的通配符dv证书,也挺便宜不到八百元。
解决方法:ssldun证书可以满足小程序需求
参考技术A 大家知道腾讯官方则要求小程序必须使用 HTTPS/WSS 发起网络请求,所以上线商城小程序必须要先部署SSL 证书,下面来为大家具体介绍下怎么选择SSL证书。一、了解SSL证书不同类型及价格
1、DV SSL证书
即域名SSL证书,指只能用于验证一个或多个域名的所有权,仅能起到网站信息加密的作用。作为最简单的证书类型,10分钟左右就可完成域名验证和快速颁发证书,无需递交纸质文件,无需人工验证申请单位真实身份。价格根据域名数量在百元至千元不等,如果只是一个展示类小程序,花费一百左右就够了。
2、OV SSL证书
即组织验证型SSL证书(企业SSL证书),申请OV SSL证书需要验证企业真实信息,核实申请单位是一个真实合法的组织。一般CA机构会在人工核实后1-5个工作日签发证书,OV SSL证书价格一般在百元至几千元不等。
3、EV SSL证书
即扩展验证型SSL证书,EV SSL证书是目前安全等级最高的SSL证书,通过极其严格甚至苛刻审查网站企业身份和域名所有权,确保网站身份的真实可靠,是最值得信赖的 SSL 证书类型。一般颁发需要5-7个工作日,价格在百元至万元不等。
注:以上三种证书类型都支持单域名、多域名、通配符SSL证书,可以满足同时保护不同数量的小程序的需求。
二、商城小程序如何选择SSL证书类型
了解过SSL证书类型,如何选择就变的简单了。大家可以根据自己小程序的数量和定位去做选择,小木为大家做了以下总结:
1、根据数量:如果商家只拥有一个小程序,选择单域名的SSL证书类型即可。如果是同时拥有多家小程序,可以选择多域名和SSL通配符证书,具体类型选择参考第2点。
2、根据定义和功能:如果是个人或者展示类小程序,未开通支付功能,不重视数据/文件传输和保存等,那么选择DV SSL证书。如果是电商类商城类小程序,更重视支付安全和客户信息安全,建议视企业的规模和数据保密等级去选择保密性安全性更好OV SSL证书,或者选择目前安全等级最高的EV SSL证书。
以上就是关于SSL证书类型以及如何选择合适的SSL证书的内容介绍啦,虽然市场上也有少数免费的SSL证书,但不建议大家使用,免费SSL证书因为申请容易、无需收费,相对来说安全性最低,在使用上会受到很多限制,更别提售后服务无法得到有效保障了,而且有效期一般也只有1-3个月,实在是弊大于利。 参考技术B 微信小程序需要HTTPS请求,可以申请DV SSL证书。
DV SSL证书又被成为域名型SSL证书或超快SSL证书,因为它只需验证域名的所有权,10分钟快速签发。主要的作用是针对浏览器和服务器之间的数据进行加密传输,保障了用户隐私信息的安全。
不建议给小程序使用免费SSL证书。
原因一:免费的SSL证书有效期一般是三个月,三个月之后又得重新申请,比较麻烦,容易忘记。而且不提供后期服务和技术支持,如果在安装SSL证书时遇到问题,是无法得到解决的。
原因二:免费的SSL证书类型只有一种,不能满足不同用户的需求。
原因三:免费的SSL证书并不都是可信的。像自签名SSL证书也是免费的,并不是由正规的CA机构颁发的,不受任何浏览器的信任,因此是不可信的。即使部署到小程序上,也是起不到任何的保护作用的。 参考技术C
稳定性为第一因素,主选收费的SSL证书。选择DV或者OV类型证书。
解释原因:
无论何总小程序,都可以使用DV或者OV证书。
选择小程序证书,尽量使用主流CA机构证书,付费的商业证书。
域名数量很多可以使用多域名或者通配符类型证书。
解决办法:可以在Gworg拿到小程序证书。
[从零开始搭网站六]为域名申请免费SSL证书(https),并为Tomcat配置https域名所用的多SSL证书
点击下面连接查看从零开始搭网站全系列
由于国内的网络环境比较恶劣,运营商流量劫持的情况比较严重,一般表现为别人打开你的网站的时候会弹一些莫名其妙的广告...更过分的会跳转至别的网站.
那么为了解决这种情况,那么我们就要申请SSL证书,并且配置服务器.
并且,我准备再学习并写一个微信小程序,而微信小程序所有接口都需要走https,那么全线https就势在必行.
目前免费https其实有很多家,我之前出过一个教程是 用Let‘s Encrypt实现Https(Windows环境+Tomcat+Java) ,这个我现在也不准备用了,一是我现在开发环境从windows server换成了Linux,二是现在找到了更好用的免费SSL证书.
我推荐大家使用两家的免费SSL证书,一个是阿里云的,一个是腾讯的(当然,实际上都是赛门铁克的证书,我说他俩只是在他俩家可以免费买).免费的安全性,权威性肯定要差一点,但是我们个人建站挂个https就足够了.如果有需要,这两家有付费的更好的选择.
1:由于我是阿里云重度依赖用户嘛,所以我们先打开阿里免费证书发放的网站: https://www.aliyun.com/product/cas?spm=5176.8142029.388261.255.b1KqKz
或者可以在管理控制台产品里在这找到:
2:点立即购买,选择免费型:
3:去支付-->立即付款-->跳转至证书控制台-->补全-->嗯...........................本地教程到此结束谢谢大家(开玩笑的下面还有)
4:难道就因为这世界上有一个牌子是LV?所以我就不能给LV域名上SSL证书?还是因为绿绿?宗教歧视?阿里你这不清真啊,从你阿里旅行改名叫飞猪我就看出来了,你们阿里不是一家清真公司,哼!我们转投腾讯好了.
5:打开腾讯云证书管理页面: https://console.qcloud.com/ssl 申请证书
6:填写子域名和申请邮箱,密码和备注都可以不写
7:下一步,强烈建议选择手动DNS解析,硬要选择文件验证的...那你选吧我也拦不住...
8:确认申请-->查看证书详情,如下图所示:
9:去你的域名DNS解析那里添加一条这样的解析,如下图所示:
10:返回你的证书列表,等人家给你发邮件和短信就行了,我申请的这两都在1分钟之内通过了,非常快速,差点图都截不上了.
11:证书申请好了,接下来该往tomcat里配置了,这里腾讯官方说的很明白,我就不献丑了,直接上官方文档吧 : https://www.qcloud.com/document/product/400/4143#4.-tomcat-.E8.AF.81.E4.B9.A6.E9.83.A8.E7.BD.B2
12:别急,还没完,我这么长的男人,怎么会到此结束了,下面还有很长呢
13:好,大家现在想一个问题,经过第11步官方文档的配置,你所有请求都走了443端口,验证了443端口所配的SSL证书了.可是.由于咱们申请的是单域名证书,而tomcat里明明可以配置多域名多项目,目前来看一个端口只能配一个证书,那么你其他网站怎么办,你其他有证书的域名怎么往tomcat里配呢?这就是我接下来要说的了----单tomcat,单ip,配多SSL证书
14:网上的各种教程都是在要么配多tomcat,要么tomcat里配多IP,这样就可以有多个443端口,导致我一度认为实在是没有办法配单tomcat单SSL证书了.但是我之前知道nginx可以配置多SSL证书,我就去查了一下,原来原理是打开SNI设置,那么tomcat支不支持呢?经过查证,8.5以上的版本也支持SNI,这就很开心了(8.5以下是实在没有办法了,要不然你们升级tomcat版本跟我这个教程走,要不然再配一个nginx,请求先走ngnix代理一下)
15:经过数小时的摸索,查阅了百度,谷歌等网站,由于tomcat9.0版本很新,使用的人很少(大多数人还是老版本不出错就用老版本呐...),查到的资料比较少,结合一点点的信息,再加上官方网站: http://tomcat.apache.org/tomcat-9.0-doc/config/http.html#SSL_Support_-_SSLHostConfig 和 https://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html 网站后,终于让我的两个证书都能在tomcat里生效,在这里我贴出我的server.xml 大家复制粘贴过去,对应修改就好了,配置非常简单(但是在调试通之前是非常的痛苦,log的日志信息非常的少,中英文能参考的文献也非常的少)
配置ssl证书这里,.jks文件是腾讯云提供给你下载的,把这个文件放在服务器/usr/tomcat/conf路径下,后面那个密码如果你在申请证书的时候填了就是那个,没填就是下载下来跟.jks文件在一起的另一个文件.
<?xml version=‘1.0‘ encoding=‘utf-8‘?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> <!-- Note: A "Server" is not itself a "Container", so you may not define subcomponents such as "Valves" at this level. Documentation at /docs/config/server.html --> <Server port="8005" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.startup.VersionLoggerListener" /> <!-- Security listener. Documentation at /docs/config/listeners.html <Listener className="org.apache.catalina.security.SecurityListener" /> --> <!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <!-- Prevent memory leaks due to use of particular java/javax APIs--> <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" /> <!-- Global JNDI resources Documentation at /docs/jndi-resources-howto.html --> <GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <!-- A "Service" is a collection of one or more "Connectors" that share a single "Container" Note: A "Service" is not itself a "Container", so you may not define subcomponents such as "Valves" at this level. Documentation at /docs/config/service.html --> <Service name="Catalina"> <!--The connectors can use a shared executor, you can define one or more named thread pools--> <!-- <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="150" minSpareThreads="4"/> --> <!-- A "Connector" represents an endpoint by which requests are received and responses are returned. Documentation at : Java HTTP Connector: /docs/config/http.html (blocking & non-blocking) Java AJP Connector: /docs/config/ajp.html APR (HTTP/AJP) Connector: /docs/apr.html Define a non-SSL/TLS HTTP/1.1 Connector on port 8080 --> <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" /> <!-- A "Connector" using the shared thread pool--> <!-- <Connector executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- Define a SSL/TLS HTTP/1.1 Connector on port 8443 This connector uses the NIO implementation that requires the JSSE style configuration. When using the APR/native implementation, the OpenSSL style configuration is required as described in the APR/native documentation --> <Connector port="443" protocol="org.apache.coyote.http11.Http11Nio2Protocol" defaultSSLHostConfigName="www.lveri.com" maxThreads="150" SSLEnabled="true" > <SSLHostConfig hostName="www.lveri.com"> <Certificate certificateKeystoreFile="conf/www.lveri.com.jks" certificateKeystorePassword="x4f96s6l03152c" type="RSA" /> </SSLHostConfig> <SSLHostConfig hostName="api.lveri.com"> <Certificate certificateKeystoreFile="conf/api.lveri.com.jks" certificateKeystorePassword="ei25vtm4ag" type="RSA" /> </SSLHostConfig> </Connector> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="8009" protocol="AJP/1.3" redirectPort="443" /> <!-- An Engine represents the entry point (within Catalina) that processes every request. The Engine implementation for Tomcat stand alone analyzes the HTTP headers included with the request, and passes them on to the appropriate Host (virtual host). Documentation at /docs/config/engine.html --> <!-- You should set jvmRoute to support load-balancing via AJP ie : <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1"> --> <Engine name="Catalina" defaultHost="localhost"> <!--For clustering, please take a look at documentation at: /docs/cluster-howto.html (simple how to) /docs/config/cluster.html (reference documentation) --> <!-- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> --> <!-- Use the LockOutRealm to prevent attempts to guess user passwords via a brute-force attack --> <Realm className="org.apache.catalina.realm.LockOutRealm"> <!-- This Realm uses the UserDatabase configured in the global JNDI resources under the key "UserDatabase". Any edits that are performed against this UserDatabase are immediately available for use by the Realm. --> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> </Realm> <Host name="www.lveri.com" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="lveri" reloadable="true" debug="0" /></Host> <Host name="api.lveri.com" appBase="webapps" unpackWARs="true" autoDeploy="true"><Context path="" docBase="lveri" reloadable="true" debug="0" /></Host> </Engine> </Service> </Server>
16:终于完了,几乎可以算是国内出tomcat配置多SSL证书教程的前几人了...
以上是关于给微信小程序选一个ssl证书,怎么选?免费证书可以吗?的主要内容,如果未能解决你的问题,请参考以下文章