2012-10-29 2 views
2

IIS 6을 통해 호스팅되는 별도의 도메인 (서버) (mydomain.com/service.svc)에서 HTTPS를 통해 WCF 데이터 서비스에 요청하는 Silverlight 5 앱이 있습니다.Silverlight 5 clientaccesspolicy.xml

실버 라이트 앱이 적절한 clientaccesspolicy.xml 파일을 찾을 수 없다는 가정하에 SecurityException이 발생합니다. 나는 이상한 부분은 피들러 트래픽을 볼 때, 요청이 mydomain.com/clientaccesspolicy.xml위한 시도 결코 있다는 것입니다

<?xml version="1.0" encoding="utf-8"?> 
<access-policy> 
    <cross-domain-access> 
    <policy> 
     <allow-from http-request-headers="*"> 
     <domain uri="*"/> 
     </allow-from> 
     <grant-to> 
     <resource path="/" include-subpaths="true"/> 
     </grant-to> 
    </policy> 
    </cross-domain-access> 
</access-policy> 

과 같은 mydomain.com의 wwwroot 폴더에 정의 된 clientaccesspolicy.xml 파일이 있습니다.

다른 점은 clientaccesspolicy.xml이 https (서버의 IIS 설정은 ssl/tls 연결 만 허용)를 통해서만 제공되므로 문제의 일부가 될 수 있습니까?

+2

둘 : – potatopeelings

+0

@potatopeelings 피들러의 유무에 관계없이 작동하지 않으므로 프록시 문제라고 생각하지 않습니다. – user1783084

답변

2

당신은 HTTPS를 추가하려고 수 : // 명시 적으로 귀하의 수-에서 :

<allow-from http-request-headers="*"> 
    <domain uri="http://*"/> 
    <domain uri="https://*" /> 
</allow-from> 

당신은 (IIS 실제로 그것을 제공하고있다) 당신이 그것을 볼 파일을 직접 공격 할 때 나는 가정합니다. 같은 (인트라넷/인터넷) 영역에서

<allow-from http-request-headers="*"> 
    <domain uri="*"/> 
    <domain uri="https://*" /> 
</allow-from> 
+0

예! 'uri = "*"'이 대신 할 수있는 것은 아닙니다. '*'는 같은 프로토콜에서만 작동합니다. 그래서 당신이'http : //'URL에서 로컬로 디버깅하고'https : // ' 에있는 원격 서비스에 접근하려고한다면 이것은 훌륭한 해결책이 될 수 있습니다. 물론 당신이 앞뒤로 보낸 무엇의 성격에 따라 http 액세스를 허용하고 싶지 않을 수도 있습니다. –

관련 문제