对EC2上的文件系统的HTTP访问

时间:2012-12-02 19:01:33

标签: tomcat grails amazon-web-services

也许我说这一切都错了(我是服务器编程的新手),在这种情况下请告诉我。

我有一个使用Tomcat 6在Amazon Elastic Beanstalk上运行的grails应用程序(2.1.1),我已经设置了restful api来将JSON发送到包含URL到映像文件的客户端。我已经进入服务器,将图像放在适当的目录中。请注意,这些是用户添加和删除的动态图像,而不是静态系统图像。

但是当客户端尝试连接到图像URL时,服务器会响应404错误。

我是否正确地假设因为我收到404错误(而不是拒绝连接等),这不是安全组问题?

我收到404错误是因为。 。 。

  1. 网址不正确,
  2. 我的亚马逊设置在某种程度上缺乏,
  3. 我的Tomcat设置在某种程度上缺乏,
  4. 或我的申请以某种方式拒绝连接?
  5. 也就是说,为什么我能够访问“http://myenvironment.elasticbeanstalk.com//login”

    但不是“http://myenvironment.elasticbeanstalk.com//media/images/myImage.jpg”

    或“http://myenvironment.elasticbeanstalk.com/media/images/myImage.jpg”

    我知道这不是很详细,但我觉得我真正的问题是对这个问题的高层理解。

    基本上,它控制访问文件系统的权限是什么?

1 个答案:

答案 0 :(得分:0)

您使用的是Grails资源插件吗?默认情况下,它会启用,并会将/images/*下的所有内容映射到网址路径/static

因此,默认情况下,如果您想要获取图像,则应定位:

http://localhost:8080/project-name/static/images/grails_logo.png

这是在 ResourcesGrailsPlugin.groovy 中配置的:

static DEFAULT_URI_PREFIX = 'static'
static DEFAULT_ADHOC_PATTERNS = ["/images/*", "*.css", "*.js"].asImmutable()