簡體   English   中英

在自定義域/URL 處公開 Kong API 網關

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM