在网络方面,我真的不在这里。
我有一台运行linux的EC2服务器,该服务器正在运行一个活动的烧瓶API。
我在共享hostgator服务器上具有PHP函数:
function sendAPI($threadid, $teamid) {
$url = "http://ec2-...amazonaws.com:9999/api2?id1=" . $teamid . "&thread=" . $threadid;
$ch = curl_init();
$optArray = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $optArray);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
类似的功能可以与电报API服务器一起正常工作
function sendMessage($chatID, $messaggio, $token) {
$url = "https://api.telegram.org/bot" . $token . "/sendMessage?chat_id=" . $chatID;
$url = $url . "&text=" . urlencode($messaggio);
$ch = curl_init();
$optArray = array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true
);
curl_setopt_array($ch, $optArray);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
从我自己的网络浏览器导航到http://ec2-...amazonaws.com:9999/api2?id1=1&thread=1
时,API成功接收请求。
注意,网站IP,也在CPanel中列出了相同的IP:
域名:novociv.org顶级域:ORG(组织)DNS 查找IP地址:108.167.142.88
根据我对网络的有限了解,这应该都能正常工作。但是,调用PHP函数时,它将返回空结果,并且EC2服务器不响应。我不知道如何从这里进行故障排除,因为我不知道在哪里可以找到任何错误消息。我猜想EC2只是在阻止来自外部服务器的流量,但是我不知道入站规则出了什么问题(如果有的话),因为EC2成功地从笔记本电脑中提取了请求。
答案 0 :(得分:0)
事实证明,hostgator默认没有打开端口9999。可通过在该服务器上请求hostgator打开端口9999或将flask应用程序移至已打开的其他端口来解决该问题。