昨天临下班前,应客户端大牛的要求,开发了一个返回下载服务器ip列表的接口,用于在客户端指定host以解决用户下载时遭遇运营商dns劫持的问题。开发时略微有少许忐忑,但测试时一切顺利,于是就轻松地回家了。more早上一上线代码,就收到了通过sentry发出的报警邮件。原以为是缓存没有及时更新的问题,立马手动进行更新。但还是没有通过接口获取到相关ip。随即回滚代码,重新上线。排查过程后来下线一台服务器进行调试时发现,在调用ops提供的接口获取ip列表时没有获取到返回数据,而相关接口是https的。再跟踪请求资源的函数发现,相关函数没有对https请求做特殊处理。相关函数实现如下:public static function get($url, array $headers = array(), $timeout = 5)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
if ($headers) {
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_
...
继续阅读
(42)