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

这适用于在ec2上运行而不在弹性beanstalk上运行的apache服务器。 也许责任平衡器应该受到责备?

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

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

谢谢

===============>>#1 票数:2

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

例如,在.ebextensions文件夹中创建文件files.config

files:
  "/etc/nginx/conf.d/proxy.conf":
    mode: "000755"
    owner: root
    group: root
    content: |
     large_client_header_buffers 16 1M;

===============>>#2 票数:1 已采纳

LimitRequestLine应驻留在<VirtualHost>部分中。 在Elastic Beanstalk中执行此操作非常棘手,因为您需要将此行添加到/etc/httpd/conf.d/wsgi.conf ,该commands在运行commandscontainer_commands 自动生成。 根据博客的想法,将以下内容添加到.ebextensions下的配置文件中:

commands:
  create_post_dir:
    command: "mkdir -p /opt/elasticbeanstalk/hooks/appdeploy/post"
    ignoreErrors: true
files:
  "/opt/elasticbeanstalk/hooks/appdeploy/post/99_adjust_request_limit.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
      #!/usr/bin/env bash
      sed -i.back '/<VirtualHost/aLimitRequestLine 100000' /etc/httpd/conf.d/wsgi.conf
      supervisorctl -c /opt/python/etc/supervisord.conf restart httpd

  ask by WeaselFox translate from so

未解决问题?本站智能推荐: