2010-02-27 2 views
0

사용자, 인증 키 등의 기본 사이트를 제공하는 django 서버와 라이브 콘텐츠를 제공해야하는 꼬인 웹 서버가 있습니다. json 스트림으로.동일한 도메인의 javascript에서 twisted rpc 서버에 대한 액세스 시도시 보안 오류가 발생했으나 다른 포트에서 제공되었습니다.

Django server is running on 127.0.0.1:8080 
Twisted 127.0.0.1:9897 

문제는 내가 장고 사이트의 페이지에서 트위스트 서버에 HTTP 요청을하려고 그 어느 때, 나는 보안 오류를 얻을 수 있다는 것입니다. 외관상으로는 동일한 기원 정책은 이런 종류의 의사 소통을 금지합니다 (???). 그렇다면 어떤 대안이 있습니까? 모든 힌트, 솔루션 .. 궤도에 따라 성공적으로 수행됩니다.

감사

답변

0

이 문제에 대한 일반적인 해결 방법은 터널 프록시 역할을하는 스크립트를 통해 이러한 요청입니다. 여기

사소한 예입니다 ...

PHP는 프록시 스크립트 - proxy.php

<?php 
echo file_get_contents(urldecode($_REQUEST['requestedUrl'])); 
?> 

장고 사이트에서 트위스트 서버에 요청을 할 필요가 일부 좋은 JS 코드.

// This remote request can't be made from the browser, lets forward it to the local proxy 
var twistedRequestUrl = 'http://127.0.0.1:9897/someSpecialApiCall?withAnArgument=andAnImportantValue'; 

$.ajax({ 
    url : 'proxy.php?requestedUrl=' + encode(twistedRequestUrl), 
    success : function(data) 
    { 
     alert('yay, the twisted call returned:' + data + ' yay!'); 
    } 
}); 
+0

입니다. 감사 ! –

관련 문제