微信小程序开发之https服务器搭建三步曲

时间:2023-03-09 06:52:40
微信小程序开发之https服务器搭建三步曲

本篇文章主要讲述3个方面的内容,如下:

1、SSL证书的获取

2、服务器 Nginx SSL 证书的配置。

3、如何兼容80端口和443端口以及为什么要同时兼容这两个端口。

1、SSL证书的获取

https 是微信小程序官方规定的,必须实现服务器的https 访问。那么就涉及到SSL证书了。目前市场上有好多专门的服务器在做SSL服务,SSL也根据不同的证书标准分为了不同的等级,当然根据不同的服务标准,收费的标准也是不一样的。我这里介绍几个可以免费申请SSL证书的平台。 腾讯云平台 、阿里云平台等。这些都是可以免费申请SSL的。

腾讯云 SSL证书免费获取说明URL https://jingyan.baidu.com/article/c14654138cfd930bfdfc4c10.html

2、服务器 Nginx SSL 证书的配置

直接上代码,看如下Nginx.conf 代码片段

server {

listen 443 ssl;

ssl on;

ssl_certificate_key /usr/local/ssl/2_www.xxxxxx.com.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

#charset koi8-r;

location / {

root /var/www/pcms;

index index.html index.htm index.php;

}

#error_page 404 /404.html;

其中 ssl_certificate 和 ssl_certificate_key 就是我们在云平台上免费得到的两个证书,分别配置好就可以了。

3、如何兼容80端口和443端口以及为什么要同时兼容这两个端口

通过第2步Nginx 的配置且重启后,就可以进行https 访问了。但是又一个问题出现了。就是我们之前的网站是 http 访问的。里面的资源,比方说已经有的图片存储路径,都是http访问的。这样配置后,发现好多之前的图片访问不了了。所以我们在这里,在 443 的基础上,还需要同时兼容原来的80端口,实现https 和 http 都可以正常访问才可以。配置两个端口同时兼容,有两种方法,方法一是可以通过 rewrite 配置,使http 访问目标网站的链接,自动转换成 https 来访问。这样可以解决问题。我这里说下第二种方法,通过Nginx 配置来实现,如下:

server {

listen 80;

listen 443 ssl;

# ssl on;

ssl_certificate_key /usr/local/ssl/2_www.xxxxxx.com.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

#charset koi8-r;

location / {

root /var/www/pcms;

index index.html index.htm index.php;

}

#error_page 404 /404.html;

需要特别注意的是: ssl on;必须注释掉。

通过以上的3个步骤,基本上你的https 就配置好了。可以正常使用了。