码迷,mamicode.com
首页 > Web开发 > 详细

nginx+php下curl请求https报502错

时间:2015-04-06 06:31:08      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:nginx php curl 502

在做公司项目的时候使用了第三方的API接口,且接口采用的是https请求,在本地的wamp集成环境开发测试正常,放到服务器上结果报错 nginx 502 bad gateway。在论坛中爬楼了几天今天终于找到原因,php版本问题;

公司项目线上环境:

服务器安装了wdcp其中nginx是1.4.2版本 php是5.2.17版本

部署项目上去后,怎么运行都报502错,刚开始怀疑是nginx配置问题,百度了许久说请求https需要ssl于是配置了nginx的ssl后问题依旧,无奈只好继续搜索答案。


这是在wdcp论坛找到的php升级5.3脚本:

wget http://down.wdlinux.cn/in/php_up53.sh
sh php_up53.sh


---------------------------------------------

问了找到nginx 502 bad gateway错误,于是乎在本地服务器安装了wdcp进行测试。

1、安装wdcp,创建网站项目;

2、编写测试代码,index.php;


<?php
// 初始化一个 cURL 对象
$curl = curl_init();
// 刚开始抓取了https://github.com,但是页面弹框,后来改用抓取支付宝首页测试
curl_setopt($curl, CURLOPT_URL, ‘https://www.alipay.com‘);
// 设置header
curl_setopt($curl, CURLOPT_HEADER, 1);
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 运行cURL,请求网页数据
$data = curl_exec($curl);
// 关闭cURL请求
curl_close($curl);
// 打印出抓取的测试数据
var_dump($data);


3、浏览器请求页面 www.test.cn (这里www.test.cn是虚拟域名配置hosts来的)结果报错502


4、tail -f /www/wdlinux/nginx/logs/error.log查看请求错误日志,从日志看是上游过早关闭连接。。。。(什么意思)


*59 upstream prematurely closed connection while reading response header from upstream, client: 192.168.0.102, server: test.cn, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:88/", host: "www.test.cn"

5、百度 在wdcp论坛爬楼到一篇帖子,说要升级PHP版本,并提供了升级脚本php_up53.sh于是升级结果就真的就好了。


---------------------------------------

虽然目前好不知道问什么,但是先记录下nginx下的php函数curl请求Https报错502升级php到5.3以上包括5.3即可。


本文出自 “碎碎馮同學” 博客,请务必保留此出处http://sxfenglei.blog.51cto.com/2089560/1629151

nginx+php下curl请求https报502错

标签:nginx php curl 502

原文地址:http://sxfenglei.blog.51cto.com/2089560/1629151

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!