[英]Expose Kong API gateway at custom domain/URL
我已經按照此處的文檔設置了 Kong API 網關。 使用下面的 curl 命令,我可以確認 Kong 已啟動並通過 localhost 響應。
curl -i http://localhost:8001/services
HTTP/1.1 200 OK
Date: Thu, 13 May 2021 15:39:32 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Access-Control-Allow-Origin: http://localhost:8002
X-Kong-Admin-Request-ID: xeUkwshQPRXA5T9bPQmxsmPcspJCGU2L
vary: Origin
Access-Control-Allow-Credentials: true
Content-Length: 23
X-Kong-Admin-Latency: 5
Server: kong/2.3.3.2-enterprise-edition
我的問題是,對於生產,如何配置 Kong 以響應 DNS/URL?
我在 AWS Route 53 上設置了一條 DNS 記錄,以將流量指向部署 Kong 的服務器的 IP。 對於一個獨立的應用程序——例如一個 Node/Express 應用程序,我將設置一個反向代理,即 NGINX,將接收到的請求從 URL 轉發到應用程序。 但是,由於 Kong 是 API 網關,因此不合適。
總結;
如果要基於主機進行路由,這是一個經典的特性。
首先創建一個服務(你的節點應用程序):
然后創建一個路由:
然后就可以測試路由是否匹配了
curl -i --header 'kong-debug: 1' http://my-gateway-url.com:8000
HTTP/1.1 502 Bad Gateway
Date: Fri, 14 May 2021 08:11:54 GMT
Content-Type: text/plain; charset=utf-8
Connection: keep-alive
Kong-Route-Id: 9f5584d7-4ac5-4720-a90c-f809c47faf8d
Kong-Route-Name: my_gw
Kong-Service-Id: 77443f69-80f4-49ea-b910-77eebdeb9385
Kong-Service-Name: node_app
Server: kong/2.0.3
Content-Length: 58
相比
curl -i --header 'kong-debug: 1' 0.0.0.0:8000
HTTP/1.1 404 Not Found
Date: Thu, 13 May 2021 20:11:23 GMT
Content-Type: application/json; charset=utf-8
Connection: keep-alive
Content-Length: 48
{"message":"no Route matched with those values"}
要檢查的另一件事是您不能公開 80 或 8000 的哪個端口,並檢查您的安全級別上的路由是否打開(例如 AWS 上的安全組)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.