2011-02-14 2 views
2

Python Gae SDK에서 Flex 애플리케이션을 만들었으며 2048 오류가 발생하여 staticdomain 아래에 crossdomain.xml을 넣습니다. 하여 애플리케이션 제목에 다음Python Google App Engine SDK에서 flex crossdomain.xml을 구성하는 방법

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM “/xml/dtds/cross-domain-policy.dtd”> 
<cross-domain-policy> 
<site-control permitted-cross-domain-policies="all"/> 
<allow-access-from domain="*" to-ports="*" secure="false"/> 
<allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
</cross-domain-policy> 

을 그리고, 내가 추가 : crossdomain.xml은이 따르고 그러나

- url: /crossdomain.xml 
    static_files: static/crossdomain.xml 
    upload: static/crossdomain.xml 

, 나는 아직도 내가 알고 싶습니다, 오류 2048 따라서있어 필자의 경우 구성하거나 놓칠 필요가 있고 오류를 수정하는 방법입니다.

상담하십시오. 감사.

+0

Google App Engine이나 디렉토리 구조에 대해 잘 모릅니다. 그러나 crossdomain.xml 파일은 액세스중인 원격 서비스가있는 서버의 웹 루트에 있어야합니다. 귀하가 귀하의 앱과 귀하가 부르는 서비스와 관련하여 귀하가 그것을 어디에 두 었는지는 명확하지 않습니다. 그게 도움이 되니? – JeffryHouser

+0

의견을 보내 주셔서 감사합니다. Gae에게는 파일 시스템에 직접 액세스 할 수 없기 때문에 app.yaml에 서비스 또는 파일을 설정해야합니다. – michael

+0

중요한 파일 시스템이 아니며, FlashPlayer에게 중요한 'domain.com/crossdomain.xml'위치입니다. – ocodo

답변

4

것은 내가 플래시와 crossdomain.xml 파일을 사용하지 않은,하지만 난 Unity3d에 있습니다. 나는 그것을 작동 시켰고, 당신이 옳은 것처럼 보였습니다.

yoursite.com/crossdomain.xml을 방문하여 브라우저에 표시되어 있는지 확인하셨습니까?

플래시를 사용하면 마임 또한 '를 확인하기 위해 당신이 발리에서의 crossdomain.xml 확인하시기 바랍니다

- url: /crossdomain.xml 
    mime_type: text/xml 
    static_files: static/crossdomain.xml 
    upload: static/crossdomain.xml 

(텍스트/XML 또는 응용 프로그램/XML)를 지정해야 할 수도 있습니다 정말 까다로운 경우 /를 잃어 버리지 않거나 그런 식으로.

또한 html5boilerplate's crossdomain.xml을 확인하십시오. 최소 제한 버전은 모든 사이트에서 작동해야합니다.

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 


<!-- Read this: www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html --> 

<!-- Most restrictive policy: --> 
<!-- 
    <site-control permitted-cross-domain-policies="none"/> 
--> 


<!-- Least restrictive policy: --> 
    <site-control permitted-cross-domain-policies="all"/> 
    <allow-access-from domain="*" to-ports="*" secure="false"/> 
    <allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
<!-- 
    If you host a crossdomain.xml file with allow-access-from domain=“*”  
    and don’t understand all of the points described here, you probably  
    have a nasty security vulnerability. ~ simon willison 
--> 

</cross-domain-policy> 
+0

감사합니다. Calvin, 귀하의 도움에 감사드립니다. crossdomain.xml은 "http : // localhost : 8080/crossdomain.xml"로 볼 수 있습니다. "mime_type : text/xml"을 추가하려고 시도했지만, 실제로 질문을 게시하고 crossdomain.xml을 사용하기 전에 시도했지만 오류 2048이 발생했습니다. – michael

+0

localhost 외에 소스에서 데이터를 가져오고 있습니까? 왜냐하면 도메인은 크로스 도메인 액세스를 허용해야한다고 생각하기 때문입니다. 어느 시점에서 나는 또한 '를 가지고 있지만 더 제한적이었다. – Calvin

+0

다른 도메인에는 이미 crossdomain.xml이 있으며 액세스 할 수도 있습니다. – michael

1

FlashPlayer가 URL 도메인 루트에있는 crossdomain.xml 파일을 찾고 있습니다.

domain.com/crossdomain.xml 

FlashPlayer가 찾고자하는 곳입니다.

그러나 Security.loadPolicyFile(url)을 사용하여 crossdomain.xml 파일을 서버의 다른 위치에서로드 할 수 있습니다.

More info on Adobe livedocs

+0

답변 해 주셔서 감사합니다. Gae는 도메인 루트를 정의하기가 어렵습니다. 업데이트를 참조하십시오. – michael

+0

이미 Security.loadPolicyFile (url)을 시도했습니다. crossdomain.xml을로드 할 수는 있지만 여전히 오류가 발생합니다. – michael