【问题标题】:HTTP access to file system on EC2HTTP 访问 EC2 上的文件系统
【发布时间】:2012-12-02 19:01:33
【问题描述】:

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

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

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

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

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

  1. 网址不正确,
  2. 我的亚马逊设置不知何故,
  3. 我的 Tomcat 设置有些欠缺,
  4. 或者我的应用程序以某种方式拒绝连接?

也就是为什么我能访问“http://myenvironment.elasticbeanstalk.com//login”

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

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

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

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

【问题讨论】:

    标签: tomcat grails amazon-web-services


    【解决方案1】:

    你在使用 grails 资源插件吗?默认情况下它是启用的,并且会将/images/*下的所有内容映射到url路径/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()
    

    【讨论】:

    • 谢谢,有帮助。我现在看到这是一个 grails 配置问题。我正在使用插件“resources 1.1.6”,但没有“ResourcesGrailsPlugin.groovy”文件。我想我可以创建一个,但它似乎是为静态图像设计的。对于用户生成的动态图像,这仍然是一个很好的答案吗? (我已经编辑了我的问题以添加该细节。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    • 1970-01-01
    相关资源
    最近更新 更多