Situazione:
Sto sviluppando un plugin e sto utilizzando nginx come reverse proxy per rails:3000; tutto funziona benissimo, ma ho problemi nell’accesso all’API a causa dei temuti errori CORS, che tutti conosciamo e “amiamo”:
Access to XMLHttpRequest at 'blah blah blah' from origin 'foo bar bing' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Finora ho provato ad aggiungere gli header a nginx, ma per qualche motivo questi non compaiono negli header quando faccio il debug su Chrome.
Ho anche provato a usare nginx per modificare i proxy_headers da rails a nginx, ma senza successo.
Inoltre, ho provato a usare un’estensione di Chrome per inserire gli header, ma nemmeno questo sembra funzionare, anche se un test CORS del browser tramite un sito di test CORS mostra che tutto è consentito.
Poi ho provato ad aggiungere il gem rack-cors, ma non sono riuscito a far funzionare config.middleware a causa di errori freeze.
Questo sta bloccando lo sviluppo e sembra che abbia imboccato un vicolo cieco ![]()
Esiste un modo per aggiungere direttamente questi header in Discourse, in un file di configurazione (o meglio ancora nel plugin), che invii i vari header HTTP che vogliamo testare e inviare nell’ambiente di sviluppo?
Oppure è possibile far funzionare il gem rack-cors? Se sì, dove nel plugin dovrei aggiungere il codice?
Rif: RubyDoc.info: File: README – Documentation for rack-cors (0.4.0) – RubyDoc.info
Come accennato, le (molte) cose che ho provato finora e quanto riportato su rubydocs si traducono tutti in “non funziona qui”, sempre la stessa storia.
Ho persino provato a dimenticare per il momento i problemi CORS e ho semplicemente aggiunto un singolo header di cache HTTP, ma anche questo si è rivelato un vicolo cieco, dal mio punto di vista.
Immagino che tutti ridano di questi problemi legati a CORS, e anch’io; ma se poteste condividere con me come aggiungere i miei header di test (CORS o meno) mentre sono nell’ambiente di test di sviluppo, ve ne sarei molto grato.
Grazie.
