Niedawno pracowaliśmy nad dość nowoczesną aplikacją internetową i jesteśmy gotowi wdrożyć ją w wersji alfa/beta i uzyskać w niej rzeczywiste doświadczenie.Hosting statycznych treści w różnych domenach od serwisów internetowych, jak uniknąć cross-domain?
Mamy usługi internetowe oparte na ASP.Net (Web Api) i front-end JavaScript, który jest w 100% po stronie klienta MVC przy użyciu szkieletu.
Kupiliśmy naszą nazwę domeny, a ze względu na to pytanie nasza wdrożenie wygląda następująco:
webservices.mydomain.com (usługi sieciowe)
mydomain.com (JavaScript front-end)
Jeśli JavaScript próbuje rozmawiać z usługami internetowymi w subdomenie wysadzamy w powietrze z problemami związanymi z domeną, grałem z CORS, ale nie jestem zadowolony z obsługi wielu przeglądarek, więc liczę to jako opcja.
Na naszych komputerach programistycznych użyliśmy odwrotnego proxy IIS, aby przekazać wszystkie żądania do mydomain.com/webservices do webservices.mydomain.com - Które rozwiązuje wszystkie nasze problemy, ponieważ przeglądarka uważa, że wszystko jest w tej samej domenie.
Moje pytanie brzmi, czy w publicznym wdrożeniu w jaki sposób rozwiązuje się tę kwestię najczęściej? Czy odwrotny proxy to odpowiednia metoda? Jeśli tak, to istnieją hostowane usługi, które oferują odwrotne proxy dla tej sytuacji? Czy istnieją lepsze sposoby wdrażania tego?
Chcę korzystać z CloudFront CDN, ponieważ wszystkie nasze serwery/usługi są hostowane przez Amazon, naprawdę staram się znaleźć informacje na temat, czy CDN może obsługiwać tego typu instalację.
Dzięki
Być może moja osobista realizacja jest zbyt prosta (a jeśli tak, to byłabym też zainteresowana komentarzami innych osób). Chyba brakuje tego, jaki jest transport danych między frontem a plecami? W mojej prostej implementacji front komunikuje się z powrotem (usługa WCF) za pośrednictwem JSONP dla "prawdziwej" implementacji między domenami. Jeśli potrzebuję "proxy", to jego "proxy aplikacji" - front na mydomain.com będzie rozmawiać z handler (np. Ashx) na mydomain.com, który "proxy" żądania http do WCF na myotherdomain.com. – EdSF
Czy używasz JQuery lub czysty javascript? (w przypadku JQuery, możesz użyć tego: http://usejquery.com/posts/the-jquery-cross-domain-ajax-guide) – ONOZ
Dla WebAPI, możesz przejrzeć ten wpis na temat włączania CORS z JSONP, który powinien działać również w różnych przeglądarkach http://goo.gl/KjT6y – cecilphillip