プロキシ(Apache)を介してTomcat5.5でBlazeDSでFlexを使用する際に問題が発生しました。私はすでにそれを検索しましたが、私の問題を解決する答えは見つかりませんでした。皆さんが私を助けてくれることを願っています。:-)
私たちのシナリオは次のとおりです。
BlazeDSを使用してTomcat5.5上のDataserviceと通信するFlex-App。Webappはbalze対応であり、servicesconfigには次のようなチャネル定義が含まれています。
<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>
FlexサーバーのルートURLをhttp://xxx.xxx.xxx.xxx:8180/myDataService
(コンテキストルート:/ myDataService)に設定し、このservices-configに対してflexアプリケーションをコンパイルします。
その後、フレックスアプリケーションとデータサービスをIPアドレスxxx.xxx.xxx.xxxのサーバーにデプロイします。http://xxx.xxx.xxx.xxx:8180/myFlexApp
その後、またはデータサービス用に2つのアプリケーションを使用できますhttp://xxx.xxx.xxx.xxx:8180/myDataservice
。Tomcatはポート8180でリッスンしています。
IPアドレスを含むURLを使用してフレックスアプリケーションを開くと、すべてが正常に機能しています。私のアプリケーションは完全にデータを受信しています。
Ok。これまでのところすべて問題ありません。
次に、プロキシサーバー(apache httpサーバー経由)を使用してIPを非表示にし、ドメイン名を使用します。
services-configに次の変更を加えます。
<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>
Flex ServerのルートURLをhttp://mydomain.com/data
(Context Root / data)に設定し、このservices-configに対してflexアプリケーションをコンパイルします。
以前と同じTomcatにアプリケーションを再度デプロイします。
次に、apacheディレクトリ(etc / apache2 / sites-available /)のsites-available(sites-enabled)フォルダーにmydomain.comというエントリを作成します。ServerNamewww.mydomain.comとServerAliasmydomainを使用して仮想ホストを作成します。 com。また、Proxyブロックに必要なルールと、仮想ホスト定義に必要なその他のものを追加します。このファイルには、次のProxyPass/ProxyPassReverseエントリが含まれています。
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
、ブラウザでフレックスアプリケーションを開くことができ、ロードされます。ただし、ブレイズを使用してデータサービスに接続しようとすると、エラーメッセージがスローされます。URLを開くことさえできませんhttp://mydomain.com/data/messagebroker/amf
。404エラーが表示されます。以前-IPアドレスを使用-空白のページが表示されていました。奇妙なことに、非ブレイズサーブレットは正常に機能しています。eG開くことができhttp://mydomain.com/data/myServlet
、動作します。Blazeだけが機能しません。
この問題が発生する理由と、私がそれを解決する方法について何か考えがありますか。よろしくお願いします。あなたは本当に私を助けてくれています!!!
ヘンリック