2015-11-16 27 views
7

Mam aplikacji z subdomen i chciałbym być w stanie połączyć się z websocket wszystkich subdomen kiedy dodać subdomenę do cable/config.ruSzyny actioncable alias żądania początki

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

To działa ok, ale jak mogę ustawić alias dla wszystkich subdomen somethink jak ten:

"[*.domain.com]" 

Char "*" dosn't pracy.

+0

Tak z ciekawości, czy używasz ActionCable na poziom produkcji? Lub po prostu grasz z tym? –

Odpowiedz

0

[OUTDATED ODPOWIEDŹ]

Wydaje się, że coś takiego nie jest jeszcze zaimplementowana z bieżącej realizacji ActionCable na swojej oficjalnej repo na GitHub.

7

Actioncable now supports regular expressions

Wykorzystanie oznaczone poniżej:

Action kabla przyjmuje tylko wnioski z określonego pochodzenia, które są przekazywane do konfiguracji serwera jako tablicę. Początki mogą być instancjami ciągów lub wyrażeń regularnych, wobec których zostanie przeprowadzona kontrola dla dopasowania .

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

1

Można użyć wyrażenia regularnego w tym przypadku. W plikach środowiskach (produkcyjnych i rozwój) to wykorzystać.

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

Jako ENV [ „domena”] domenie że aplikacja działa w