我有一个带子域的应用程序,当我向其中添加子域时,我希望能够连接到所有子域的WebSocketcable/config.ru
ActionCable.server.config.allowed_request_origins = ["domain.com",
"sub1.domain.com", "sub1.domain.com"]
它还可以,但我如何为所有子域设置别名像这样的东西:
"[*.domain.com]"
字符"*"无效。
用法如下:
Action Cable将只接受来自指定来源的请求作为数组传递给服务器配置。起源可以是字符串或正则表达式的实例,检查将执行匹配。
ActionCable.server.config.allowed_request_origins = ['http://rubyonrails.com', /http://ruby.*/]
您可以在这种情况下使用regex。在环境文件(生产和开发)中使用以下内容:
config.action_cable.allowed_request_origins = [/(?:^(http|https)://)?(?:([^.]+).)?#{ENV["domain"]}/]
作为ENV["domain"]应用程序运行的域。
[过期答案]
从ActionCable目前在GitHub上的官方回购中的实现来看,似乎还没有实现这样的东西。