Skip to content

Instantly share code, notes, and snippets.

@wearhere
Last active July 8, 2020 09:26
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save wearhere/a4506ca547f1d77da2dbfcadfaab74cd to your computer and use it in GitHub Desktop.
Save wearhere/a4506ca547f1d77da2dbfcadfaab74cd to your computer and use it in GitHub Desktop.
Patches AWS Elastic Beanstalk's default nginx configuration to support websockets, for use with an Application Load Balancer.
container_commands:
enable_websockets:
command: |
sed -i '/\s*proxy_set_header\s*Connection/c \
proxy_set_header Upgrade $http_upgrade;\
proxy_set_header Connection "upgrade";\
' /tmp/deployment/config/#etc#nginx#conf.d#00_elastic_beanstalk_proxy.conf
@mbushman
Copy link

Did anyone get this script working for tomcat8 using the ALB?

@alzap
Copy link

alzap commented Jul 11, 2017

Yes, change your proxy server to nginx
http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/java-tomcat-platform.html#java-tomcat-platform-configfiles
I used the "Example .ebextensions/tomcat-settings.config"

option_settings:
  aws:elasticbeanstalk:container:tomcat:jvmoptions:
    Xms: 512m
    Xmx: 512m
    JVM Options: '-Xmn128m'
  aws:elasticbeanstalk:application:environment:
    API_ENDPOINT: mywebapi.zkpexsjtmd.us-west-2.elasticbeanstalk.com
  aws:elasticbeanstalk:environment:proxy:
    GzipCompression: 'true'
    ProxyServer: nginx
  aws:elasticbeanstalk:environment:proxy:staticfiles:
    /pub: public

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment