使用nginx反向代理在微信小程序中使用http请求

   日期:2020-07-13     浏览:281    评论:0    
核心提示:使用nginx反向代理在微信小程序中使用http请求由于微信小程序对第三API的请求做了限制官方说明文档,导致我们无法访问非https的请求,然而我们在开发小程序过程中所请求的第三方接口不一定都是https的请求,那我们要怎么做才能在微信小程序开发中使用http形式的接口呢。废话不多说,直接看效果。使用代理之前使用代理之后首先我们需要拥有一个自己的域名(如果没有直接在阿里云,腾讯云,百度云等直接注冊一个)然后我们需要进行域名解析,这里我选的是阿里云解析 ,其他解析网站操作也类似

使用nginx反向代理在微信小程序中使用http请求

由于微信小程序对第三API的请求做了限制官方说明文档,导致我们无法访问非https的请求,然而我们在开发小程序过程中所请求的第三方接口不一定都是https的请求,那我们要怎么做才能在微信小程序开发中使用http形式的接口呢。废话不多说,直接看效果。

使用代理之前

使用代理之后

完成上面的操作我们需要做的准备工作

  1. 首先我们需要拥有一个自己的域名(如果没有直接在阿里云,腾讯云,百度云等直接注冊一个)

  2. 然后我们需要进行域名解析,这里我选的是阿里云解析 ,其他解析网站操作也类似 。
    如下图所示则解析成功!

  3. 然后我们需要去阿里云申请一个免费的SSL安全证书,证书申请地址要注意:证书的签发需要实名认证,下图表示证书签发成功
    然后我们选择证书的下载,点击后会弹出如下页面我们选择Nginx下载,下载后我们会得到两个文件.pem和.key的文件。

  4. 我们需要在宝塔给域名绑定证书,我们直接进入宝塔,然后选择网页版进入后我们来到控制面板,点击网址再点击设置然后我们再点击SSL,依次填入相应的内容

    配置成功后的页面为,此时我们需要开启右上角的强制https

  5. 接下来我们就可以开始配置Nginx进行反向代理了!

    i. 首先我们打开Nginx安装目录然后找到conf文件夹,然后我们在里面新建一个名为cert(当然名字你可 以自己取,但必须是英文)文件夹,然后我们将下载的.key和.pem文件放入其中
    ii. 然后我们打开改目录下的nginx.conf 文件在里面加入如下代码

    nginx.conf中加入的配置为
    
    
      server {
      	listen 443 ssl;   #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
      	server_name localhost;  #将localhost修改为您证书绑定的域名,例如:www.example.com。
      	root html;
      	index index.html index.htm
         #以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
      	ssl_certificate cert/name.pem;   #name.pem替换成您证书的文件名。
      	ssl_certificate_key cert/name.key;   #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_store off;
      			proxy_redirect off;
      			proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      			proxy_set_header X-Real-IP $remote_addr;
      			proxy_set_header Referer 'no-referrer-when-downgrade';
      			proxy_set_header User-Agent 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36';
      			proxy_connect_timeout 600;
      			proxy_read_timeout 600;
      			proxy_send_timeout 600;
                  proxy_pass  你想代理的接口地址(例如:http://v3.wufazhuce.com:8000/api/);   
            }
      }  
    

    完成以上流程后再以管理员身份运行cmd控制台,然后再开启Nginx服务,最后我们再打开我们的微信开发者工具,我们会惊奇的发现我们原先无法使用的http形式的API在代理后有了数据!(注:代理后我们在微信小程序中求情的API地址应该为我们自己的证书绑定的后的域名地址)

总结

这只是一直曲线救国的方式,只适合与个人的开发。如果需要长期使用则还是需要搭载自己的服务器,以上皆为个人开发中的一些经验总结,希望对你有帮助。另外如果有什么错误欢迎各位斧正。最后蟹蟹大家的支持,冲冲冲~

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服