aws弹性beanstalk" Request-URI太长"

时间:2015-05-17 11:20:09

标签: apache amazon-web-services amazon-ec2 elastic-beanstalk

我有一个在弹性beanstalk上运行python flask应用程序的设置。我的问题是我收到了414错误代码。我已将LimitRequestLine 200000添加到httpd.conf,并在ec2实例的shell上使用sudo httpd service restart重新启动,但似乎没有做到这一点。

这对于在ec2上运行而不是在弹性beanstalk上运行的apache服务器非常有效。也许责任平衡器应该受到责备?

我真的很感激这方面的任何帮助...

另一个奇怪的事情 - 如果我从ec2实例上的shell重新启动httpd服务,那么长的uri可以传递一次,只有一次 - 第二次我再次获得414 ..

由于

2 个答案:

答案 0 :(得分:2)

另一种方法可以是直接修改负载均衡器以增加参数" large_client_header_buffers"。这可能需要应用程序负载平衡器(与默认的经典负载平衡器相比)。

E.g。在文件夹.ebextensions

中创建文件files.config
files:
  "/etc/nginx/conf.d/proxy.conf":
    mode: "000755"
    owner: root
    group: root
    content: |
     large_client_header_buffers 16 1M;

答案 1 :(得分:1)

LimitRequestLine应位于<VirtualHost>部分内。在Elastic Beanstalk中执行此操作非常棘手,因为您需要将此行添加到/etc/httpd/conf.d/wsgi.conf,{/ 1}}和commands 之后自动生成。根据{{​​3}}博客的想法,将以下内容添加到container_commands下的配置文件中:

.ebextensions