Last active
September 13, 2021 11:06
-
-
Save jakemmarsh/954cb1b3a1b06c2ef4d7f16d945cccf1 to your computer and use it in GitHub Desktop.
Modify nginx proxy settings in Elastic Beanstalk options
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
files: | |
"/tmp/proxy.conf": | |
mode: "000644" | |
owner: root | |
group: root | |
content: | | |
proxy_send_timeout 600; | |
proxy_read_timeout 600; | |
send_timeout 600; | |
container_commands: | |
00-add-config: | |
command: cat /tmp/proxy.conf >> /etc/nginx/conf.d/00_elastic_beanstalk_proxy.conf | |
01-restart-nginx: | |
command: /sbin/service nginx restart |
According to the doc https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html
Now we should place the nginx conf files in .platform/nginx
|-- web.jar
|-- .ebextensions/
|-- .platform/
|-- nginx/ # Proxy configuration
| |-- nginx.conf
| `-- conf.d/
| `-- custom.conf
This is actually a lot easier because aws will copy nginx conf files and reload nginx process automaticlly so that we don't need to write any command.
Tested at Sept 2021.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hmm, so when I use this as is, the file is indeed modified, but I get an error on the nginx restart:
Command failed on instance. Return code: 137 Output: Stopping nginx: /sbin/service: line 66: 23734 Killed env -i PATH="$PATH" TERM="$TERM" "${SERVICEDIR}/${SERVICE}" ${OPTIONS}.
If I either change nginx restart to nginx reload, or add an "ignoreErrors" to the restart-nginx command, then the deploy passes, but the configuration file is not modified. This seems to imply that the container_commands is running too early.
Any clue?
EDIT: Ok, managed to solve it with a post deploy folder hook. So my script looks like this (put my nginx cofig file in my app root):