2015-09-15 8 views
5

Ho provato a rilasciare la mia applicazione con EXRM. L'intera applicazione sta lavorando ad eccezione di WebSockets che non riescono a iniziareRelease Phoenix EXRM Web socket non funzionanti

Questo è l'errore nel browser (Chrome) collegamento

WebSocket a 'WS: // localhost: 4001/zoccolo/websocket token = non definito' non riuscita: errore durante la stretta di mano WebSocket: codice di risposta imprevisto: 403

sembra che la variabile token potrebbe essere un problema. Quando si inizia con Mix phoenix.server tutto funziona alla grande. Ma rilasciato con i comandi:

$ mix deps.get 
$ mix compile 
$ MIX_ENV=prod mix digest 
$ MIX_ENV=prod mix release 
$ ./rel/project/bin/project 

Potrebbe essere qualcosa per quanto riguarda alcuni passaggi mancati di me o è questione di Phoenix.

risposta

6

Sembra che nel file di configurazione prod.exs l'opzione url sia responsabile del filtraggio delle connessioni Websocket per consentire loro solo dal dominio. Per questo motivo consente solo le connessioni dall'URL impostato, ma non da qualsiasi altro incluso localhost.

Quindi, per testare versioni localmente url deve essere impostato su:

url: [host: "127.0.0.1", port: 4001], 
+1

Sì, appunto. Dobbiamo eseguire un controllo dell'origine in modo che gli utenti malintenzionati non possano accedere al tuo account Web da pagine esterne. Dovresti anche aver visto segnalazioni di errori nel tuo terminale. –