【问题标题】:How to connect a client to a PHP application on Elastic Beanstalk (AWS)如何将客户端连接到 Elastic Beanstalk (AWS) 上的 PHP 应用程序
【发布时间】:2014-11-29 06:10:15
【问题描述】:

我正在尝试创建一个基本的客户端-服务器环境。

以下是详细信息:

客户端:我创建了一个打开 HTTP 连接的 Android 应用:

        String url = "http://MYAPPNAME.elasticbeanstalk.com"; 
        DefaultHttpClient httpClient = new DefaultHttpClient(); 

        HttpGet httpGet = new HttpGet(url);

        HttpResponse httpResponse = httpClient.execute(httpGet);

        httpEntity = httpResponse.getEntity();

服务器:我创建的:

  1. 具有一个名为“users”的表的 RDS 实例。

  2. Elastic Beanstalk 应用程序。我部署了一个 PHP 文件(在一个 Zip 文件中)。 PHP 文件包含与 DB (RDS) 的连接并执行语句:“SELECT * FROM users”

我在客户端和 PHP 应用程序之间的第一次连接中遇到错误:

安全组允许所有人访问此实例:

80 tcp 0.0.0.0/0

有人知道可能是什么问题吗?

【问题讨论】:

  • 这看起来不像是来自 php 脚本的响应。但更多来自网络服务器。
  • 我用Enviroment 层创建了一个新应用程序:Worker 而不是以前的Web 服务器。现在我在部署后得到红色监视器。我在日志中收到此错误:2014-10-04T16:00:35Z 错误:AWS::SQS::Errors::AccessDenied: Access to the resource sqs.eu-west-1.amazonaws.com/311148171554..... is denied.
  • 您是否尝试使用 https 网址?
  • 我不明白。我在 Elastic Beanstalk 的仪表板中看到“环境健康已设置为红色”。我还没有尝试连接。
  • 我改回 Web 服务器作为环境层。现在可以了。非常感谢(见我对第二个答案的评论)

标签: php android amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

您正在尝试访问根目录(“/”)。如果您可以以这种简单的方式访问,那么每个人都可以。没有人(没有身份验证)应该能够访问。

将路径更改为您的路径 (http://MYAPPNAME.elasticbeanstalk.com/....." 和/或定义一个入口点。

我希望这会有所帮助;)

【讨论】:

  • 路径应该是什么?
  • 这取决于你是想通过 REST 和 JSON 获取(你应该有一个 API)还是你只想加载一个网页(你应该指出文件的完整路径。例如:“@987654322 @)。每台服务器都完全不同。不过,您的答案,这不是服务器问题,这是一条错误的路径。例如,我会尝试 MYAPPNAME.elasticbeanstalk.com/users.php 来解决您的问题,或者您在服务器中的文件完整路径
  • 耶它有效!谢谢。我确定我用 php 尝试了路径,但它没有用....现在它可以工作了!!!非常感谢!!
猜你喜欢
  • 2016-01-09
  • 2017-02-04
  • 2022-07-21
  • 2015-07-17
  • 1970-01-01
  • 2018-12-09
  • 2021-02-11
  • 2018-12-07
  • 2022-06-11
相关资源
最近更新 更多