Skip to content

Instantly share code, notes, and snippets.

@maxdbn
Last active February 1, 2023 07:57
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maxdbn/6becf5bf39af676482a9804ee89b94d6 to your computer and use it in GitHub Desktop.
Save maxdbn/6becf5bf39af676482a9804ee89b94d6 to your computer and use it in GitHub Desktop.
Install nginx with headers-more module on Elastic Beanstalk, Tested on: 64bit Amazon Linux 2016.09 v2.3.0 running Ruby 2.3 (Puma)
commands:
00_install_dev_tools:
command: "yum groupinstall 'Development Tools' -y"
packages:
yum:
git: []
htop: []
geoip: []
geoip-devel: []
gcc-c++: []
pcre-devel: []
zlib-devel: []
make: []
unzip: []
gd-devel: []
perl-XML-LibXML: []
libxslt-devel: []
perl-XML-LibXSLT: []
libXpm-devel: []
perl-ExtUtils-Embed: []
gperftools: []
gperftools-devel: []
Add this to the http directive:
more_set_headers "Server";
server_tokens off;
container_commands:
00_download_nginx:
command: cd /home/ec2-user && wget 'http://nginx.org/download/nginx-1.10.1.tar.gz' && tar -xzvf nginx-1.10.1.tar.gz
01_download_headers_more:
command: cd /home/ec2-user && wget 'https://github.com/openresty/headers-more-nginx-module/archive/v0.33.tar.gz' && tar -xzvf v0.33.tar.gz
02_build_and_install:
command: cd /home/ec2-user/nginx-1.10.1 && sudo ./configure --add-module=/home/ec2-user/headers-more-nginx-module-0.33 --prefix=/etc/nginx --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --with-http_geoip_module=dynamic --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic' --with-ld-opt=' -Wl,-E' && sudo make && sudo make install
03_cleanup:
command: cd /home/ec2-user && sudo rm -r nginx-1.10.1* v0.33*
04_global_config:
command: cat .ebextensions/nginx/nginx > /etc/nginx/nginx.conf
05_reload:
command: service nginx restart
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment