Laravel+easywechat 做微信开发部署时,遇到的正向代理问题

小弟初学laravel,请各位老师指点一二,多谢,以下是问题详情:

1、服务器环境:

前台: 192.168.0.10 ,前置代理机,安装的apache, 做反向代理和正向代理,可访问公网。

后台: 192.168.0.20 ,后置应用机,跑后端程序,laravel环境。纯内网环境,不可访问公网。若访问微信等相关接口,是通过正向代理来进行请求。

2、开发情况:
以前未用框架,直接用的原生的curl进行get或者post请求,正向地址都设置在函数里,如下:

    function https_request($url,$data = null)
    {     
      $arrip=array("192.168.0.10","8080");
      $oCurl = curl_init();     
      curl_setopt($oCurl, CURLOPT_PROXY, $arrip[0]);
      curl_setopt($oCurl, CURLOPT_PROXYPORT, $arrip[1]);
      curl_setopt($oCurl, CURLOPT_URL, $url);
      curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);
      curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);
      if (!empty($data)){
           curl_setopt($oCurl, CURLOPT_POST, 1);
           curl_setopt($oCurl, CURLOPT_POSTFIELDS, $data);
      }
      curl_setopt($oCurl, CURLOPT_TIMEOUT,30); 
      curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);
      $output = curl_exec($oCurl);
      curl_close($oCurl);
      return $output;
    }

现在用laravel+easywechat 框架开发,不知该如何配置代理,来实现与微信等公网接口的交互,查找了相关资料,并没有比较好的方案。

想法是:最好通过中间件服务或者全局环境代理来实现,不在代码层面来处理,但是尚未解决,特来请教一下经验丰富的大神们,谢谢!

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 4
leo
5年前 评论
ShenSir (楼主) 5年前
HD_Lance 4年前

nginx搭建代理服务参考:github.com/chobits/ngx_http_proxy_...
当你的代理服务已经搭建好的情况下,php-fpm.conf最后增加两行代码:

env[http_proxy]=代理服务器IP+端口
env[https_proxy]=代理服务器IP+端口

重启php-fpm,php代码即可访问公网服务。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!