2015-11-16 2 views
7

У меня есть приложение с субдоменами, и я хотел бы, чтобы иметь возможность подключиться к WebSocket всех субдоменов, когда я добавляю субдомен cable/config.ruRails actioncable псевдоним происхождение запроса

ActionCable.server.config.allowed_request_origins = ["domain.com", 
"sub1.domain.com", "sub1.domain.com"] 

Он работает нормально, но как я могу установить псевдоним для всех поддоменов somethink как это:

"[*.domain.com]" 

Char "*" dosn't работы.

+0

Просто из любопытства, вы используете ActionCable на уровень производства? Или вы просто играете с ним? –

ответ

0

[устаревший ОТВЕТ]

Кажется, что-то вроде этого еще не реализован из текущей реализации ActionCable на свой официальный repo на GitHub.

7

Actioncable now supports regular expressions

Использование обозначается следующим образом:

Действие Кабель будет принимать только запросы от указанных происхождения, которые передаются на сервер конфигурации в виде массива. Истоки могут быть экземплярами строк или регулярных выражений, против которых будет выполнена проверка соответствия .

ActionCable.server.config.allowed_request_origins = ['http://rubyonrails.com', /http:\/\/ruby.*/]

1

Вы можете использовать регулярное выражение для этого случая. В средах файлов (производство и развитие) использовать это:.

config.action_cable.allowed_request_origins = [/(?:^(http|https):\/\/)?(?:([^.]+)\.)?#{ENV["domain"]}/]

Как [ «домен»] в области ENV, что приложение работает в