微信小程序wx.getImageInfo不执行的原因及解决方法,同步解决七牛云HTTPS免费请求的方法

作者:技术僧 发布时间:2019-12-10

1.jpg

近日系统升级,发现小程序的wx.getImageInfo方法执行有问题,访问远程图片不知道,访问本地图片没问题,查看了“downloadFile合法域名”和“request合法域名”配置也没发现有问题,经过仔细排查发现请求的图片路径是http协议,而小程序需要https协议才可以,于是进行协议替换,新的问题来了,由于图片存储用的七牛,而七牛对https协议是不免费的,这请求量都是花花的银子往出跑啊,于是想到了Nginx,马上在阿里云申请SSL证书,计划证书申请下来后,将HTTPS协议的域名映射到HTTP协议上,这样经过一个代理应该就可以解决这个问题,方法如下:

1、首先先在七牛上配置域名映射。

11.jpg

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即可生效。

【声明】:LifeAdd生活方式登载该文章目的是为更广泛的传递行业信息,不代表赞同其观点或证实其描述,本网站亦不为其版权负责。若无意侵犯您合法权益的内容,请联系本网站,核实后将立即予以删除!

高品质生活资讯平台

『LifeAdd生活方式』是一家引领高端品质生活的互联网平台,聚焦前沿时尚风潮,为高品质人群推送生活资讯和商业信息,链接高端商业与高端人群生态圈。

业务范围

经营规则

联系我们
北京市丰台丽泽金融商务区平安幸福中心A座7层
82918700@qq.com
微信号:82918700

2013-2024 LifeAdd生活方式 www.lifeadd.cn 版权所有 | 御融(北京)科技有限公司 All Rights Reserved
增值电信业务经营许可证:京B2-20200664 | 京ICP备14004911号-7