Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change nginx config in amazon elastic beanstalk running a docker instance

After i login and the cookie is set I get error 502. When i read the log i get the error:

014/05/17 01:54:43 [error] 11013#0: *8 upstream sent too big header while reading response header from upstream, client: 83.248.134.236, server: , request: "GET /administration HTTP/1.1", upstream: 

After some fast googling i found: http://developernote.com/2012/09/how-i-fixed-nginx-502-bad-gateway-error/

and I want to try to set fastcgi_buffers and fastcgi_buffer_size to a different value. But how do i set variable on nginx in amazon elasticbeanstalk?

The nginx server is before my docker instance.

like image 490
Erik Axelsson Avatar asked May 17 '14 09:05

Erik Axelsson


People also ask

Where is nginx config Elastic Beanstalk?

conf is the filename which will be created on the Elastic Beanstalk EC2 instances. By default this configuration is in the file /etc/nginx/conf.

Does Elastic Beanstalk use nginx?

Elastic Beanstalk uses nginx as the reverse proxy to map your application to your Elastic Load Balancing load balancer on port 80. Elastic Beanstalk provides a default nginx configuration that you can either extend or override completely with your own configuration.


1 Answers

Amazon actually recommends editing the staging version of the nginx deployment file. There are several located at /tmp/deployment/config/, one for editing the general 'http' context, and then a few for configuring different aspects of the server.

I wanted to attach caching functionality to the default proxy server, so I wrote an .ebextensions config file to replace #etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf, which is then copied over to /etc/nginx/conf.d during deployment. You can inline the file if its simple enough, but I put mine in S3 so that different applications and pull it down and use it. Here's the config file:

commands:    01-get-nginx-conf-file:     command: aws s3 cp s3://<bucket-name>/custom-nginx.conf /home/ec2-user  container_commands:   01-replace-default-nginx-config:     command: mv -f /home/ec2-user/custom-nginx.conf /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf 
like image 199
Matt Holtzman Avatar answered Oct 04 '22 10:10

Matt Holtzman