Proxy (Apache)를 통해 Tomcat 5.5에서 BlazeDS와 Flex를 사용하는 데 문제가 있습니다. 나는 이미 그것을 찾았지만 내 문제를 해결하는 해답을 찾지 못했습니다. 너희들이 나를 도울 수 있기를. :-)BlazeDS Servlet이 프록시를 통해 응답하지 않습니다.
우리의 시나리오하면 다음과 같습니다
플렉스 - 앱
는 톰캣 5.5에 우리의 DataService와 통신 할 수 블레이즈 DS를 사용하여. 웹 애플리케이션은 balze 활성화하고 서비스 설정은 다음과 같이 채널 정의를 포함합니다 :<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://xxx.xxx.xxx.xxx:8180/myDataService/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint">
</channel-definition>
내가 http://xxx.xxx.xxx.xxx:8180/myDataService
(컨텍스트 루트 :/MyDataService로)로 플렉스 서버 루트 URL을 설정하고이 서비스-설정에 대한 내 플렉스 응용 프로그램을 컴파일합니다.
그 후 나는 플렉스 애플리케이션과 데이터 서비스를 일부 IP 주소 xxx.xxx.xxx.xxx가있는 서버에 배치했다. http://xxx.xxx.xxx.xxx:8180/myDataservice
을 나는 IP와 URL 모든 것이 잘 작동되는 주소를 사용하여 내 플렉스 응용 프로그램을 열 경우 톰캣 포트 8180.
에서 수신 : 그 이 http://xxx.xxx.xxx.xxx:8180/myFlexApp
또는 DataService의 사용 후 두 응용 프로그램을 사용할 수 있습니다. 내 응용 프로그램에서 데이터를 완벽하게 수신하고 있습니다.
확인. 지금까지는 괜찮 았어.
이제 ip를 숨기고 도메인 이름을 사용하기 위해 (아파치 http 서버를 통해) 프록시 서버를 사용하고 싶습니다.
나는 나의 서비스-설정을 다음과 같이 변경하십시오
<channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
<endpoint url="http://mydomain.com/data/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint">
</channel-definition>
나는 http://mydomain.com/data
에 (컨텍스트 루트/데이터) 플렉스 서버 루트 URL을 설정하고이 서비스-설정에 대한 내 플렉스 응용 프로그램을 컴파일합니다.
전과 동일한 tomcat에 응용 프로그램을 다시 배포합니다.
이제 mydomain.com이라는 아파치 디렉토리 (etc/apache2/sites-available /)의 sites-available (사이트 사용 가능) 폴더에 항목을 만듭니다. ServerName www.mydomain으로 가상 호스트를 만듭니다. com 및 ServerAlias mydomain.com. 또한 프록시 블록에 필요한 규칙을 추가하고 가상 호스트 정의에 필요한 다른 것들을 추가합니다. 그 후
ProxyPass /flexApp http://xxx.xxx.xxx.xxx:8180/myFlexApp
ProxyPassReverse /flexApp http://xxx.xxx.xxx.xxx:8180/myFlexApp
ProxyPass /data http://89.19.229.148:8180/myDataservice
ProxyPassReverse /data http://89.19.229.148:80/myDataservice
내가 브라우저에서 http://www.mydomain.com/flexApp
와 플렉스 응용 프로그램을 열 수 있으며로드 : 다음 ProxyPass로/ProxyPassReverse 항목이 파일에 포함되어 있습니다. 그러나 blazed를 사용하여 dataservice에 연결하려고하면 오류 메시지가 표시됩니다. 심지어 URL http://mydomain.com/data/messagebroker/amf
을 열 수 없습니다. 404 오류가 표시됩니다. 전에 - IP 주소를 사용하여 - 빈 페이지가 표시되었습니다. 이상한 점은 블레이즈가 아닌 서블릿이 잘 작동한다는 것입니다. e.G. http://mydomain.com/data/myServlet
을 열면 작동합니다. 블레이즈 만 작동하지 않습니다.
이 문제가 발생하는 이유와 해결 방법에 대한 의견이 있으십니까? 많은 감사드립니다. 너 정말 나를 돕고있어!
헨릭