Solicitar origen no permitido: http://localhost:3001 al usar Rails5 y ActionCable


Tener problemas de servidor con una aplicación en Rails 5.0.0.beta2 tratando de usar ActionCable.

Usar localhost:3000 funciona bien, ya que es lo que la mayoría de ActionCable hace por defecto. Pero si intento ejecutar el servidor rails en el puerto 3001, me da Request origin not allowed: http://localhost:3001

Los documentos de ActionCable mencionan el uso de algo como ActionCable.server.config.allowed_request_origins = ['http://localhost:3001'] que funciona para mí si lo pongo en config.ru

Pero parece un lugar muy extraño para ponerlo. Siento que debería ser capaz de ir en un archivo inicializador, o mi desarrollo.archivo de configuración del entorno rb.

Para probar aún más mi punto de que debería estar permitido entrar allí, la configuración ActionCable.server.config.disable_request_forgery_protection = true funciona para ignorar el origen de la solicitud, incluso cuando lo incluyo en desarrollo.rb.

Por qué ActionCable.server.config.disable_request_forgery_protection trabajaría en el desarrollo.rb, pero ActionCable.server.config.allowed_request_origins no (pero funciona en config.ru)?

No es un problema urgente, ya que tengo varias opciones como un trabajo alrededor. Sólo quiero saber si me estoy perdiendo algo obvio sobre cómo me imagino que debería ser esto trabajo.

Author: daybreaker, 2016-02-04

1 answers

Puedes poner Rails.application.config.action_cable.allowed_request_origins = ['http://localhost:3001'] en su desarrollo.rb

Véase https://github.com/rails/rails/tree/master/actioncable#allowed-request-origins para más información

 47
Author: disastrous-charly,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-16 20:28:23