说到网络,我真的不适合这里。
我有一个运行 linux 的 EC2 服务器,它运行着一个活动的 Flask 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
从我自己的 Web 浏览器导航到时,API 成功获取请求。
注意,网站IP,CPanel中也列出了相同的IP:
域名:novociv.org 顶级域:ORG(组织)DNS 查找 IP 地址:108.167.142.88
从我有限的网络知识来看,这应该都能正常工作。但是,当 PHP 函数被调用时,它返回一个空结果并且 EC2 服务器没有反应。我不知道如何从这里进行故障排除,因为我不知道在哪里可以找到任何错误消息。我猜想 EC2 只是在阻止来自外部服务器的流量,但我不知道我的入站规则出了什么问题(如果有的话),因为 EC2 成功地从我的笔记本电脑接收了请求。
事实证明,hostgator 默认没有打开 9999 端口。该问题可以通过在此服务器上请求 hostgator 打开端口 9999 来解决,或者通过将 Flask 应用程序移动到已打开的其他端口来解决。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句