微信小程序需要https请求,故而向阿里发起请求。
1. 需要阿里账号
2. 申请SSL免费证书,付费0元。
免费证书与付费证书的区别:https://baijiahao.baidu.com/s?id=1675869292823258955&wfr=spider&for=pc
一、证书的类型不同。免费SSL证书一般只有域名型 DV SSL证书,仅用于提供最基本的身份验证,适合个人类网站或对安全级别要求较低的网站。而付费SSL证书则有域名型DV SLL证书、企业型OV SSL证书和增强型EV SSL证书,后者验证级别较高,提供的安全防护等级也较高,适合对于安全需求较高的网站。
二、证书的有效期长短不同。付费SSL证书的有效期一般是一到两年,申请安装后就无需因网站的安全问题而提心吊胆,还会有客服在证书快到期前进行温馨的提醒;而大部分免费的SSL证书每次申请的时间仅为为几个月甚至更少,每次到期前都需要频繁申请安装,使用起来极其的麻烦。
三、CA提供的技术服务不同。付费的SSL证书一般都会提供专业的服务支持,从申请到安装再到使用,7×24及时响应用户的咨询并解决问题。这些都是使用免费SSL证书使用者所享受不到的优质官方服务。
四、用户的信任感不同。免费SSL证书在浏览器地址栏只能显示HTTPS前缀和绿色的安全锁,而付费的企业型OV SSL证书和增强型EV SSL证书除了显示HTTPS和绿色安全锁之外,还能查询到公司详情,而增强型EV SSL证书还能使整个地址栏变成绿色,并在地址栏直接显示公司名称。这些标志能够增加客户对网站的信任度,大大提升在线交易量。
**申请SSL免费证书:
阿里云搜索SSL、点击选购证书,出现下图
支付订单后,点击证书申请、再在证书管理中点击证书申请填写信息后,下载证书
按照实际需求下载相应的证书,根据提示完成证书安装。
3. 安装证书
我的环境nginx,所以下载nginx证书。
点击下载打开证书下载页面
点击下载,点击帮助查看nginx证书安装配置文档
linux基础:
*查看nginx版本 :nginx -v
*查看nginx运行目录:ps -ef|grep nginx
(nginx: master process /usr/sbin/nginx -g) ,在nginx: master process后面的路径就是。
*查看nginx是否配置正确:./nginx -t(需要cd到nginx运行目录:cd /usr/sbin )
出现 :“configuration file /etc/nginx/nginx.conf test is successful” 说明你的配置没问题.
(在configuration file 后面的路径就是,nginx配置路径: /etc/nginx/nginx.conf)
*重载nginx配置:./nginx -s reload
证书上传
在服务器中新建 .well-known/pki-validation文件夹
将证书申请中下载的 fileauth.txt 文件上传至.well-known/pki-validation目录中
域名验证方式 -- 我选了 -- 文件验证,所需nginx配置 :
location /.well-known/pki-validation/fileauth.txt { alias /.well-known/pki-validation/fileauth.txt; }
在nginx配置目录中新建cert文件夹,将nginx配置文件上传至cert目录
ssl证书配置:(找到http{ 在里面加入server{}配置)
http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; client_max_body_size 20M; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # SSL Settings ## server { listen 443 ssl; #配置HTTPS的默认访问端口为443。 #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。 #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。 #需要将yourdomain.com替换成证书绑定的域名 server_name cloud.doublecom.net; root /home/app/run/html/dist; index index.html; ssl_certificate cert/5436371_cloud.doublecom.net.pem;#上传至cert目录的.pem文件名称和.key文件名称 ssl_certificate_key cert/5436371_cloud.doublecom.net.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 / { root /home/app/run/html/dist; index index.html; }
} .....后面是你其他需要的配置信息 }
然后: 检查nginx配置是否成功, 重新加载nginx配置。
*查看nginx是否配置正确:(需要cd到nginx运行目录)
./nginx -t
出现 :“configuration file /etc/nginx/nginx.conf test is successful” 说明你的配置没问题.
(在configuration file 后面的路径就是,nginx配置路径)
*重载nginx配置:(需要cd到nginx运行目录)
./nginx -s reload
4. 检查是否安装成功
用https请求访问你的域名,加载成功前面出现一把 “锁” 就是成功了
如果失败:查看443端口是否被占用.
lsof -i:443
结束占用进程: (xxx是进程的PID)
kill xxx
再一次用https请求访问你的域名,加载成功前面出现一把 “锁” 就是成功了