Dockerコンテナで実行しているAPIゲートウェイとしてKongを使用したいと考えています。各リクエストは最初にNgInxサーバーを経由しなければなりません。リクエストされたuriがexample.com/apiと一致する場合は、Kong内にapiが登録されている必要があります。これを実現するためにKongとリバースプロキシとしてのNgInx
私は、次のコマンドを使用して香港に私のAPIを追加しました:
curl -i -X POST --url ipnumber:8001/apis -d 'name=my-api' -d `enter code here`'upstream_url=http://httpbin.org' -d 'hosts=example.com' -d 'uris=/api/my-api'
私は正しい答えを得るので、私は香港が正常に機能していると仮定し、以下のコマンドを実行することにより。
curl -i -X GET --url ipnumber:8000/api/my-api --header 'Host: example.com'
私のnginxの設定次のようになります。私のホストファイルで
upstream kong {
server 127.0.0.1:8000;
}
location /api {
proxy_pass: http://kong;
}
私はドメインexample.comとnginxのサーバーのIPを設定しました。
問題は、私がexample.com/api/my-apiまたはexample.com/my-apiを参照しているときに、結果がNgInxの404エラーページです。
私はIP番号して閲覧した場合:8000/API /私の-APIを、それは、ホスト名がexample.com
私ではありませんので、正確である与えられた値に一致するAPIは、ありませんと言って香港のメッセージになり私はこの問題をすでに長い間探していますが、私はそれを修正することができませんでした。私もhttps://getkong.org/docs/0.10.x/configuration/#custom-nginx-configuration-embedding-kongを探していましたが、私はすでに自分のnginxの設定をしているので、私はそうする必要があるかどうかはわかりません。
フィードバックにご協力いただきありがとうございます。