Recentemente abbiamo lavorato a un'app web moderna e siamo pronti a implementarla per alpha/beta e ad acquisire un'esperienza del mondo reale.Hosting di contenuti statici su domini diversi dai servizi web, come evitare il cross-domain?
Abbiamo i servizi Web basati su ASP.Net (Web Api) e un front-end JavaScript che è 100% MVC lato client utilizzando backbone.
Abbiamo acquistato il nostro nome di dominio, e per il bene di questa domanda la nostra distribuzione si presenta in questo modo:
webservices.mydomain.com (Webservices)
mydomain.com (JavaScript front-end)
Se il JavaScript tenta di parlare con i servizi Web nel sottodominio, facciamo esplodere con problemi di dominio incrociato, ho giocato con CORS ma non sono soddisfatto del supporto cross-browser, quindi sto contando come un opzione.
Sul nostro PC di sviluppo abbiamo utilizzato un proxy inverso IIS per inoltrare tutte le richieste a mydomain.com/webservices a webservices.mydomain.com - Che risolve tutti i nostri problemi in quanto il browser pensa che tutto sia nello stesso dominio.
Quindi la mia domanda è, in una distribuzione pubblica, come viene risolto questo problema più comunemente? Un proxy inverso è il modo giusto per farlo? In tal caso, ci sono servizi in hosting che offrono un proxy inverso per questa situazione? Ci sono modi migliori per distribuire questo?
Voglio usare CloudFront CDN come tutti i nostri server/servizi sono ospitati su Amazon, sto davvero cercando di trovare informazioni su se un CDN in grado di supportare questo tipo di installazione però.
Grazie
Forse la mia implementazione personale è troppo semplice (e se è così sarei interessato anche ai commenti degli altri). Immagino che cosa manca è il trasporto dei dati tra fronte/retro? Nella mia semplice implementazione, il front comunica con il back (servizio WCF) tramite JSONP per un'implementazione "reale" del dominio incrociato. Se ho bisogno di "proxy", allora è un "proxy app" - front su mydomain.com parlerà con un gestore (ad esempio ashx) su mydomain.com che "trasmette" la richiesta http a WCF su myotherdomain.com. – EdSF
Stai usando JQuery o puro javascript? (nel caso di JQuery, è possibile utilizzare questo: http://usejquery.com/posts/the-jquery-cross-domain-ajax-guide) – ONOZ
Per WebAPI, è possibile rivedere questo post abilitando CORS con JSONP che dovrebbe funzionare bene attraverso i browser http://goo.gl/KjT6y – cecilphillip