微信小程序服务端请求必须HTTPS 微信小程序服务端请求必须HTTPS

微信小程序服务端请求必须HTTPS

SSL证书的作用

HTTP明文协议是不安全的传输协议,无法进行服务器端真实身份校验,也不能为传输数据提供加密保护,通过HTTP协议传输的数据时刻处在被窃听、篡改、冒充的风险中。HTTPS传输协议在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密,确保数据传输到正确的服务器端,并防止中间人窃取传输数据。

目前全球互联网正在从HTTP向HTTPS的大迁移,Chrome和火狐浏览器将对不采用HTTPS加密的网站提示不安全,苹果要求所有APP通信都必须采用HTTPS加密,小程序强制要求服务器端使用HTTPS请求,正是顺应了互联网安全的趋势。

微信小程序对HTTPS的要求

每个微信小程序必须事先设置一个通讯域名,并通过HTTPS请求进行网络通信,不满足条件的域名和协议无法请求。也就是说,请求request地址必须是合法域名,需要有SSL证书认证过。

SSL证书的选择

目前市面上的主流SSL证书可分为三大类,DV SSL证书(域名验证型)、OV SSL证书(企业验证型)、EV SSL证书(扩展验证型)。

微信小程序SSL证书

DV SSL证书

DV SSL证书之所以被称为域名验证型SSL证书,是因为在申请时CA机构只审核域名的所有权,不验证域名所有者的真实身份。我们使用SSL证书,不仅仅用于传输加密,还因为它代表着网站身份是真实的、经过验证的,而DV SSL证书只能实现传输加密,无法验证网站所有者身份,是不完整的SSL证书产品,通常只适用于产品测试、个人网站、个人博客等方面。

企业级微信小程序在测试阶段可以选用沃通DV SSL证书,但是在正式上线后,最好换成企业级别的沃通OV或EV SSL证书。

OV SSL证书

OV SSL证书被称为企业验证型SSL证书,是因为申请时不仅需要验证域名所有权,还需要提交企业真实身份的验证材料。无法通过真实身份验证的用户,无法获取到OV级别的SSL证书,因此其具备加密传输和身份验证的完整功能。

如果您的小程序涉及多个域名,推荐使用沃通OV SSL多域名证书,可支持一张证书绑定一个顶级域名下的无数个通配符子域名或绑定100个多域名,是性价比很高的选择。

沃通OV SSL证书

EV SSL证书

EV SSL证书被称为扩展验证型SSL证书,是因为申请EV SSL证书不仅需要验证域名所有权,按规定提交企业真实身份验证材料,还要求提供更加详细的企业信息(如具体营业地址等信息),并提供具有法律效力的证明文件(如律师函等)。经过EV级别验证的网站,身份真实可靠,浏览器也会对EV验证的网站进行特殊的品牌展示,比如浏览器地址栏显示绿色、直观展示网站所属单位名称等等,展现良好的品牌形象和公信力。

 

沃通EV SSL证书

在产品性能标准化的SSL证书行业,优质服务成为开发者产品选型过程中要考虑的重点。

服务端配置SSL证书

以Ngnix为例,打开其中的for Nginx 文件可以看到 2 个文件,包括公钥、私钥。

打开Nginx安装目录下conf目录中的nginx.conf文件找到

#HTTPS server

#

#server {

# listen 443;

# server_name localhost;

# ssl on;

# ssl_certificate cert.pem;

# ssl_certificate_key cert.key;

# ssl_session_timeout 5m;

# ssl_protocols SSLv2 SSLv3 TLSv1;

# ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

# ssl_prefer_server_ciphers on;

# location / {

# root html;

# index index.html index.htm;

# }

#}

将其修改为 :

server {

listen 443;

server_name localhost;

ssl on;

ssl_certificate sslkey/public.cer; (证书公钥)

ssl_certificate_key sslkey/private.key; (证书私钥)

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1TLSv1.2;

ssl_ciphers ECDH:AESGCM:HIGH:!RC4:!DH:!MD5:!aNULL:!eNULL;

ssl_prefer_server_ciphers on;

location / {

root html;

index index.html index.htm;

}

}

保存退出,并重启Nginx。通过https方式访问您的站点,确认站点证书安装配置正确即可,其实没有想象的那么难。如果你使用的是其他服务器。

猜你喜欢

转载自blog.csdn.net/qq_41619567/article/details/84401081
今日推荐