問題タブ [tyk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Docker を使用した API ゲートウェイのオプションは何ですか?
私はいくつかの RESTful マイクロサービスを作成し、それらを Docker 化しました。今は、ユーザー向けの Web ベースの UI と、ユーザーを作成し、いくつかの API を使用するためのアクセス許可をユーザーに付与する機能が必要です。
ある種の API ゲートウェイが必要であることはわかっています。私が最初に考えたのは、いつでもその力ずくの方法を実行できるということでした。UI を提供し、API へのすべての要求を手動でプロキシする django アプリを作成しますが、これは非常に退屈に思えます。多分いくつかの代替手段がありますか?Tyk の準備はできていますが、ユーザーを追加して権限を付与する機能に関する情報が見つかりません。
おそらく、API ゲートウェイとして機能するアプリケーションを作成し、それをモデル化するコードを記述して、リクエストのプロキシを自動化することができます。たとえば、基本的に、外部 URL から実際の API URL へのマッピングと、いくつかの承認ロジックが必要です。たぶん、すでにそのようなものがありますか?
ubuntu - Ubuntu 14.04.3 LTS で Tyk 1.9.1 用に redis-server 3.0.7 をセットアップする方法
tyk を使用して redis インスタンスを起動しようとすると、次のエラーが発生します。
次のパラメータを設定しました:
また、maxmemory-policy を任意のパラメーターに設定しようとしましたが、何も変更されません。
Tyk のクラスター モードで redis-server を既に構成している人はいますか?
Ubuntu 14.04.3 LTS および Tyk v1.9 で Redis サーバー v=3.0.7 を実行する
nginx - API ゲートウェイとリバース プロキシ
マイクロサービス アーキテクチャに対処するために、リバース プロキシ (nginx や apache httpd など) と一緒に使用されることが多く、横断的な懸念事項の実装に は API ゲートウェイ パターンが使用されます。リバース プロキシが API ゲートウェイの作業を行う場合があります。
これら 2 つのアプローチの明確な違いを確認できれば幸いです。API ゲートウェイを使用する潜在的な利点は、複数のマイクロサービスを呼び出して結果を集計することです。API ゲートウェイの他のすべての責任は、リバース プロキシを使用して実装できます。そのような:
- 認証 (nginx LUA スクリプトを使用して実行できます);
- 輸送のセキュリティ。それ自体がリバース プロキシ タスクです。
- 負荷分散
- ...
したがって、これに基づいていくつかの質問があります。
- API ゲートウェイとリバース プロキシを同時に使用することは理にかなっていますか (たとえば、リクエスト -> API ゲートウェイ -> リバース プロキシ (nginx) -> 具体的なマイクロサービス)? どのような場合に?
- API ゲートウェイを使用して実装でき、リバース プロキシでは実装できない、またはその逆の他の違いは何ですか?
ajax - CORS を使用して XML を POST するときの Internet Explorer 11 でのネットワーク エラー
リクエスト本文に XML を必要とし、XML データで応答する API に POST リクエストを送信しようとしています。API は別のドメインにあるため、CORS を使用する必要があります。IE11 は成功した CORS プリフライトを送信します。以下は、Windows 7 上の Internet Explorer 11 で次のエラーで失敗する簡単なテスト ケースです。
編集: スニペットから実行すると、別のエラーが発生します。完全な例を含むペーストビンを次に示します: http://pastebin.com/yTL7mrYF
プリフライト リクエストとポスト リクエスト自体は、開発ツールに表示されます。POST 要求の場合、応答ヘッダーのみが表示されますが、応答本文には「表示するデータがありません」と表示されます。
サーバーから応答が返されることを Fiddler で確認しましたが、なぜか Internet Explorer では表示できません。
このサービスは、API 管理ソフトウェアである Tyk の背後にあります。
明らかに、これは Firefox と Chrome で機能します。
nginx - Nginx および Apache Tomcat 8 を使用した Tyk ゲートウェイ (ubuntu 14.04)
Tyk ダッシュボードで API を作成しようとしたときに、ここで何が欠けているのか疑問に思っています。
私のセットアップは次のとおりです。
Nginx はすでに動作しており、呼び出しをデフォルト ポート 8080 で apache tomcat にリダイレクトしています。
例: tomcat.myserver.com/webapp/get/1 200-OK
カスタム ノード ポート 8011 を使用して、以前に次のように tyk-dashboard と tyk-gateway をセットアップしました。
Tyk ダッシュボード:
Tyk ゲートウェイ:
/etc/hosts はすでに構成されています (実際には必要ありません):
Tyk ダッシュボードの構成 (ここでは特別なことは何もありません):
- API名:フー
- リッスン パス: /foo
- API スラッグ: foo
- ターゲット URL: tomcat.myserver.com/webapp/
どの URI を呼び出すと思いますか? Nginxに追加する必要があるセットアップはありますか?
- myserver.com/foo 502 nginx
- myserver.com:8011/foo が応答しない
- foo.myserver.com 502 nginx
(すべて同じサーバーで実行されています)
解決済み:
Tyk ゲートウェイの構成が正しくありませんでした。setup.shでディレクティブを追加--mongo
および削除する必要があります。--domain
したがって、curl -H "Authorization: null" 127.0.0.1:8011/foo を呼び出すと、次のようになります。