Elastic Beanstalk(AWS)的麻烦

时间:2014-08-26 07:04:22

标签: amazon-web-services

我正在尝试学习如何使用AWS来托管Java Web应用程序,但我遇到了一些相当基本的麻烦。虽然我对Java感到满意,但我对Web开发的经验却很少。

基本问题是当我尝试在服务器上运行“Hello World”应用程序时出现错误:

HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 53

type Exception report

message An exception occurred processing JSP page /index.jsp at line 53

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 53

50:         <div class="section grid grid5 s3">
51:             <h2>Amazon S3 Buckets:</h2>
52:             <ul>
53:             <% for (Bucket bucket : s3.listBuckets()) { %>
54:                <li> <%= bucket.getName() %> </li>
55:             <% } %>
56:             </ul>


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:470)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

root cause

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: FB27B69E08FA9469), S3 Extended Request ID: gx1ZB6oZkPRrZFS9uTcfWvLhpgPxAUCQwmhaYttLB9qbANdIaUWQVNNtThM+whQU
    com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:937)
    com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:506)
    com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:273)
    com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3660)
    com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3612)
    com.amazonaws.services.s3.AmazonS3Client.listBuckets(AmazonS3Client.java:672)
    com.amazonaws.services.s3.AmazonS3Client.listBuckets(AmazonS3Client.java:680)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:126)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

以下是导致这一点的步骤: 1)我创建了一个AWS账户并注册了一个域名。

2)我使用默认环境创建了一个Elastic Beanstalk应用程序并删除了示例应用程序(运行正常)。

3)我安装了Eclipse的AWS插件。

4)我在AWS中创建了一个用户名并为其生成了凭据,然后将这些凭据输入到Eclipse AWS插件中。

5)我创建了一个新的AWS Java Web项目。默认情况下,该项目似乎是一种“Hello World”应用程序,因此我没有对其进行修改。

6)我将项目导出为.war,并将.war上传到我的Elastic Beanstalk应用程序。

7)我试图从Elastic Beanstalk仪表板运行该应用程序并得到上述错误。

我认为如果我无法使用默认代码,尝试编写自己的代码对我来说可能毫无用处,但是如果有一种更简单的方法可以开始,我就不介意听到它。

1 个答案:

答案 0 :(得分:0)

经过进一步测试,我认为问题在于,无论出于何种原因,我的Elastic Beanstalk应用程序无权访问其他AWS资源。我不知道为什么会这样或如何解决它,如果有人知道我仍然会想要一个答案,但至少我已经得到了一个更简单的&#34; Hello World&#34;程序在没有与AWS其他部分交互的情况下运行。