我们应该如何在Rails中配置Action Cable以在Google App Engine上运行?
我有一个Rails应用程序,它使用Action Cable作为其信使。在我的本地主机上,Action Cable在开发和生产环境下都可以正常工作,但在Google App Engine上无法正常工作。
我创建了一个计算机引擎实例并在其中安装了Redis。
防火墙允许所有流量到达Redis VM。
Redis绑定了0.0.0.0。
当我在Google App Engine上部署应用程序时,我会收到以下错误:
Firefox无法建立与wss://mydomain.com/cable的连接。
这是我的当前配置:
config/environments/production.rb
config.action_cable.url = 'wss://[MYDOMAIN].com/cable'
config.action_cable.disable_request_forgery_protection = true
config.force_ssl = true
...
config/cable.yml
production:
adapter: redis
url: redis://[IP_OF_REDIS_SERVER]:6379/
app.yaml
entrypoint: bundle exec rackup --port $PORT
env: flex
runtime: ruby
env_variables:
REDIS_PROVIDER: REDIS_URL
REDIS_URL: redis://[IP_OF_REDIS_SERVER]:6379/
SECRET_KEY_BASE: [My_Secret_Key]
我在谷歌文件的App Engine文档中没有找到有关actioncable设置的任何信息。我希望这个问题可以帮助我和所有遇到同样问题的人。