Aplicación Rails 502 con AWS Elastic Beanstalk ejecutando Puma y Nginx

Aplicación Rails 502 con AWS Elastic Beanstalk ejecutando Puma y Nginx

Pude ejecutar exitosamente mi aplicación en Beanstalk con Passenger, sin embargo, no tuve suerte con Puma. Cada vez que implemento una pila Puma obtengo errores 502, mis archivos de registro indican que no puedo encontrar el archivo sock:

2014/05/15 21:00:15 [crit] 1684#0: *4 connect() to unix:///var/run/puma/my_app.sock failed (2: No such file or directory) while connecting to upstream, client: 10.184.156.117, server: _, request: "GET / HTTP/1.1", upstream: "http://unix:///var/run/puma/my_app.sock:/", host: "app-env-89spnxpcai.elasticbeanstalk.com"

Mi aplicación está construida con Ruby Ruby 2.0.0p451 y Rails 4.1.1.

Mi configuración de .ebextensions se ve así

packages:
  yum:
    git: []

commands:
  add_bundle_exec:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre
    command: perl -pi -e 's/(rake)/bundle exec $1/' 11_asset_compilation.sh 12_db_migration.sh
  add_deployment_flag:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre
    command: perl -pi -e 's/(bundle install)/$1 --deployment/' 10_bundle_install.sh
  make_vendor_bundle_dir:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    command: mkdir /var/app/support/vendor_bundle
  set_vendor_bundle_var:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/support
    command: sed -i '12iexport EB_CONFIG_APP_VENDOR_BUNDLE=$EB_CONFIG_APP_SUPPORT/vendor_bundle' envvars
  symlink_vendor_bundle:
    test: test ! -f /opt/elasticbeanstalk/support/.post-provisioning-complete
    cwd: /opt/elasticbeanstalk/hooks/appdeploy/pre
    command: sed -i 's/\(^cd $EB_CONFIG_APP_ONDECK\)/\1\nln -s $EB_CONFIG_APP_VENDOR_BUNDLE .\/vendor\/bundle/' 10_bundle_install.sh
  z_write_post_provisioning_complete_file:
    cwd: /opt/elasticbeanstalk/support
    command: touch .post-provisioning-complete 

¿Qué estoy haciendo mal? ¿Necesito algo especial para que funcione con Puma?

Respuesta1

Este problema no se presenta con la versión más reciente: Amazon Linux 2014.03 v1.0.5 de 64 bits que ejecuta Ruby 2.0 (Puma).

Respuesta2

Cambiando config.force_ssl = truepara falsesolucionar el problema por mí

información relacionada