外部 Web 服务器无法与 EC2 Flask API 通信

贾里德·C

说到网络,我真的不适合这里。

我有一个运行 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 成功获取请求。

EC2 实例的入站规则: 服务器接受来自我的 SSH 和 API 调用,并接受来自 Telegram API 服务器的信息。 应该从外部 Web 服务器接受,但不接受。

注意,网站IP,CPanel中也列出了相同的IP:

域名:novociv.org 顶级域:ORG(组织)DNS 查找 IP 地址:108.167.142.88

从我有限的网络知识来看,这应该都能正常工作。但是,当 PHP 函数被调用时,它返回一个空结果并且 EC2 服务器没有反应。我不知道如何从这里进行故障排除,因为我不知道在哪里可以找到任何错误消息。我猜想 EC2 只是在阻止来自外部服务器的流量,但我不知道我的入站规则出了什么问题(如果有的话),因为 EC2 成功地从我的笔记本电脑接收了请求。

贾里德·C

事实证明,hostgator 默认没有打开 9999 端口。该问题可以通过在此服务器上请求 hostgator 打开端口 9999 来解决,或者通过将 Flask 应用程序移动到已打开的其他端口来解决。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

AWS EC2从外部请求阻止Tomcat Web App

如何在EC2实例上打开Web服务器端口

AWS EC2与AWS API Gateway上的Node.js RESTful API服务器

无法从外部网络访问XAMPP Web服务器

无法从EC2实例访问使用AWS API Gateway公开的Web服务。返回403 {“ message”:“ Forbidden”}

如何在本地Web服务器上托管Flask API?

EC2安全组无法相互通信

在AWS Workspace与EC2实例上托管Rest-API服务器?

如何使用单独的授权服务器,Web API,UI在ASP.NET Web应用程序中组织通信?

由于Jenkins工作者节点,EKS上的Jenkins无法连接到外部EC2服务器:错误“端口:50000无法访问”。

如何在不运行localhost服务器与Web api通信的情况下制作Socket.io Client

Windows Server 2012的Amazon EC2实例-无法连接到简单的Web服务器

Jetty 8无法在AWS EC2服务器上启动Java Web App

从外部脚本与Socket服务器通信

在Amazon ec2 Ubuntu服务器上挂载和外部硬盘

在Amazon EC2上设置HTTP / 2 Web服务器的最快方法?

Amazon AWS EC2 Web服务器禁止访问图像文件

从代理服务器调用Web API 2

从公共IP访问Amazon EC2 Windows实例Web服务器

无法从外部服务器(Web API2)使用SendAsync

无法从localhost外部访问Apache2服务器

在AWS Beanstalk或EC2上托管RESTful API服务器的安全性

从外部访问Web服务器

Web服务器的AWS EC2 Writable文件夹

Web API 2 - 控制器之间的通信

Amazon EC2 实例 ping 但无法从外部访问 django 服务器

无法访问托管在 EC2 实例上的简单节点 Web 服务器

AWS EC2 Apache 服务器正在运行,无法 ping/无法通过 Web 服务器访问

在 AWS EC2 上运行 Flask 服务器,只有 gunicorn 但没有 nginx