0

ワークライト 5.0.6.1

アプリケーションとサーバーの PCI 監査を回避するためにIntel ( http://info.intel.com/rs/intel/images/Intel_Expressway_Tokenization_Broker.pdf )の PCI アプライアンスを使用することについて、クライアントから特定の要件があります。

したがって、支払いデータに関係するアダプター呼び出しは、ワークライト・サーバーに到達する前に、このハードウェア・アプライアンスを通過する必要があります。他のすべてのアダプター呼び出しは、ワークライト・サーバーに直接行く必要があります (アプライアンスが過負荷にならないようにするため)。2 つの異なる URL を持つが、バックグラウンドで同じワークライト サーバーを使用するという考え方です。アプライアンスを介した呼び出しはワークライト サーバーに対して透過的であると想定されるため、ワークライトの機能は影響を受けません。

これに関する私の質問は次のとおりです。

  • 同じワークライト・サーバーに 2 つの異なる URL を持ち、アダプター呼び出しのためにクライアントからこれらの URL を交互に使用するためのワークライトのベスト・プラクティス (これはネイティブで実行されると想定しているため、直接更新などではありません)?

  • クライアント・コード内の JavaScript コードを介してアダプター呼び出しに使用されるワークライト・サーバー URL を動的に上書きすることは可能ですか? たとえば、WL.Client AJAX アダプター呼び出しの前のどこかからワークライト URL を取得/返す特定の JS 関数を上書きしますか?

また、呼び出されている AdapterName の正規表現などに基づいて、ロードバランサーがルートを切り替えることも検討しています。しかし、それが可能かどうか、およびパフォーマンスへの影響がどのようなものかは、現時点ではわかりません。

4

3 に答える 3

3

可能ですが、これは WL でサポートされているものではありません。何か問題が発生した場合に、サポートから助けを得ることができなくなります (そしてそうなります)。すべてのサーバー Cookie (セッション ID など) はドメインごとであることに注意してください。したがって、サーバー URL を動的に変更すると、それらが失われます。したがって、WL サーバーは、古い (既存の) セッションとは無関係に、リクエストを新しいセッションとして扱います。これは WL に固有のものではありません。これが HTTP のしくみです。

WL は、サーバー URL を 2 つのグローバル プロパティ (WL.AppProp.WORKLIGHT_ROOT_URL と WL.AppProp.APP_SERVICES_URL) に保持します。それらを上書きして、サーバーの URL を変更することができます。

最初の 1 つは、開発者によってトリガーされるすべての要求 (init、connect、login など) に使用されます。2 つ目は、さまざまな内部機能 (暗号化されたキャッシュなど) に使用されます。

繰り返しますが、これはハックであり、解決策ではありません。使用する場合は注意して使用してください:)

于 2013-08-27T07:51:40.777 に答える
-2

worklight.js ファイルを掘り下げると、serevr URL を変更するために使用できる関数「setWLUrl(url)」があります。このように呼び出して完了

setWLUrl("http://"+yourServerIP+":PORT");

その種のハックですが、API内の機能であるため、問題は発生しないはずです。

幸運を

于 2015-01-20T09:46:42.733 に答える