近日系统升级,发现小程序的wx.getImageInfo方法执行有问题,访问远程图片不知道,访问本地图片没问题,查看了“downloadFile合法域名”和“request合法域名”配置也没发现有问题,经过仔细排查发现请求的图片路径是http协议,而小程序需要https协议才可以,于是进行协议替换,新的问题来了,由于图片存储用的七牛,而七牛对https协议是不免费的,这请求量都是花花的银子往出跑啊,于是想到了Nginx,马上在阿里云申请SSL证书,计划证书申请下来后,将HTTPS协议的域名映射到HTTP协议上,这样经过一个代理应该就可以解决这个问题,方法如下:
1、首先先在七牛上配置域名映射。
2、设置好后,将该二级域名解析到自己服务器上(注意,不要解析到七牛云的CNAME)
3、在自己服务器上安装nginx(这里不做赘述,网上很多)
4、打开nginx的配置文件,做以下配置
server {
listen 80;
server_name 二级域名.xxx.com; #这里设置刚刚在七牛云配置的域名
location / {
proxy_pass http://imghttps9m74.qiniudns.com; #这里指向七牛云的CNAME
index index.html index.htm;
proxy_set_header Host $host:$server_port;
}
}
#下边就是https协议的配置
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name 二级域名.xxx.com; #这里设置上方80端口配置的二级域名,也就是刚刚在七牛云配置的域名
ssl_certificate cert/imghttps.xxx.com.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/imghttps.xxx.com.key; #将domain name.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 / {
proxy_pass http://二级域名.xxx.com;
proxy_set_header Host $host:$server_port;
}
}
5、做好以上设置后保存,然后重启nginx即可生效。
2013-2024 LifeAdd生活方式 www.lifeadd.cn 版权所有 | 御融(北京)科技有限公司 All Rights
Reserved
增值电信业务经营许可证:京B2-20200664 | 京ICP备14004911号-7