2016-06-29 18 views
3

Ich habe erfolgreich installiert Kong und kartiert eine API, die von Verwaltungsdienstleistungen von Kong bereitgestellt, wie unten: http://kong:8001/apis payload: { "upstream_url": "http://test.suraj.com:9110/" "strip_request_path": true "request_path": "/services_test" "preserve_host": false "name": "services_test" "request_host": "test.suraj.com" }Kong 404 für registrierte APIS Rückkehr

Ich bin in der Lage diese API zu erhalten, wenn rufen zu http://kong:8001/apis machen bekommen.

jetzt versuche ich auf meine API-Endpunkte mit kong wie: http://kong:8000/services_test/test.json seine Rückkehr 404 "angeforderte Ressource nicht gefunden".

was mache ich falsch? Ich kann nicht auf Kongs Protokoll zugreifen. kann mir jemand sagen, wo kong log files speichert? Danke für jede Hilfe. PS: Alle URLs sind dummy.

Antwort

2

Endlich meine Antwort bekommen. Was ich hier falsch mache, ist die Eigenschaft "strip_request_path" wahr. Wenn Sie die Eigenschaft strip_request_path in einer API aktivieren, werden die Anforderungen weitergeleitet, ohne dass die Eigenschaft request_path in der Upstreamanforderung enthalten ist. In meinem Fall war der tatsächliche API-Endpunkt: http://test.suraj.com:9110/services_test/test.json und Kong leitete die Anfrage um: http://test.suraj.com:9110/test.json , weil die Eigenschaft "strip_request_path" wahr war. hier, was Dokumentation sagt über How does Kong route a request to an API

einige weitere Informationen von google group

1

Wie strip_request_path funktioniert, ist unter: nehmen strip_request_path =true und upstream_url"= "http://test.suraj.com:9110/" und request_path= "/services_test"

dann:

  • test.suraj.com/services_test/test.json werden

  • test.suraj.com/whatever/test.json kehrt 404.

zu http://test.suraj.com:9110/test.json abgebildet werden Wenn request_path der Teil Ihrer tatsächlichen Endpunkt Sie strip_request_path Eigenschaft false gesetzt haben. Ansonsten ändern Sie strip_request_path in etwas anderes, zB services123. dann sollten Sie Ihre Anfrage URL wie folgt aussehen:

test.suraj.com/services123/services_test/test.json 

dann kong Anfrage weiterleiten an unter Endpunkt:

http://test.suraj.com:9110/services_test/test.json 
2

Verwendung entweder request_path oder request_host. benutze sie nicht beide.