상황 : angular/.netwebapi를 사용하여 전자 상거래 사이트를 구축 중입니다. 핵심은 - webappi 서비스 집합을 공유하는 여러 고객 (mongoDB 카탈로그와 대화하고, mysql 주문 데이터베이스를 관리하는)에 배포해야합니다. 정적 및 기능적 규칙 집합이 변경되어 각 고객에 대해 seprate 폴더가 있어야합니다.aws 및 CORS 문제의 웹 배포
질문 1 : 내 URL이 http://mydomain.com/cust1, http://mydomain.com/cust2 등을 할 수 있도록 나는 그것이 JS 정적 파일에 대한 모든 경로를 나누기 노력으로가 어떻게 가상 폴더에 각 응용 프로그램을 배포하는
질문 2 : 여러 포트에서 사이트를 만들고 각 포트를 다른 포트에 호스팅하여 # 1을 해결합니다. 그게 효과가있다. 그러나 나는 .Net Web Api 앱이 중심적인 앱이되기를 정말로 원하지 않는다. 따라서 포트 <> 80 (예 : http://mydomain.com:8081/index.html#/mypage)에서 제공되는 페이지에서 http://mydomain.com/api/service으로 실행되는 서비스에 액세스하려고하면 CORS 문제가 발생합니다.
질문 3 : 질문 3 : 하위 도메인 접근 방법을 사용하면 # 1과 2가 해결 될 수 있다고 생각합니다. 따라서 각 저장소는 서로 다른 하위 도메인 (예 : cust1.mydomain.com, cust2.mydomain.com 및 각기 다른 폴더를 가리킴)에 호스팅되며 webapi는 하나의 가상 디렉토리 (예 : mydomain.com/api)에서 호스팅됩니다. 나는 곧 IIS에서 그것을 시도 할 것이다.
질문 4 : 그러나 실제로 내 의도는 리눅스 상자에 각도 응용 프로그램을 배포하고 Windows 서비스를 호스트하는 것이 었습니다. 우리는 모든 것을 놓기로 결정했기 때문에 CORS에 다시 들러 가지 않도록 한 도메인 내에 리눅스와 윈도우 박스를 모두 가질 수 있을지 확신하지 못합니다. 그 포인터는 정말 감사하겠습니다. 이 문제를 감소 사전
webAPI를 위해 나는 이미 그것을하고 있습니다 (2 번째). 그러나 이상적으로 내 HTML 파일 (angulrjs 실행)은 linux/nginx 클러스터에 호스팅되며 webapi 서비스는 클라이언트에서 직접 웹 서버를 거치지 않고 액세스 할 수 있습니다. 그러면 브라우저가 CORS를 방지합니다. 두 도메인으로 공용 DNS를 만들고 테스트를 수행했습니다. 성공하면 포럼이 업데이트됩니다. 동시에 다른 사람이 다른 지침을 가지고 있다면 알려주십시오. – rahul
S3 또는 Cloudfront에서 해당 파일을 호스팅하는 것이 좋습니다. CORS 헤더도 지정할 수 있습니다. 나는 nginx에서 그것을하는 방법에 익숙하지 않다. 그러나 이것은 도움이 될지도 모른다. http://enable-cors.org/server_nginx.html –
나는 corshandler를 사용하여 그렇게했다. - 그러나 열쇠는 webdav였다 - 나는 그 이유를 알지 못했다. 나는 무능하게해야했다. – rahul