디렉토리
konga에 의해 API 인터페이스 프록시 연결 홍콩 달성
서문 :
API를 홍콩은 이미이 문서의 시작 부분에서 연구를 수행하고 이해하기 전에, 우리는 KONG는 API 인터페이스 프록시를 구현하고 사용하는 방법을 배우게됩니다. 이렇게하려면 먼저 필요한 서비스를 추가, 즉 대신 상류 API 홍콩 및 서비스의 마이크로 관리를 참조하는 데 사용되는 이름입니다.
본 논문에서는에 대한 링크가 생성됩니다 Mockbin API 서비스 테스트를 학습.
1. ADD NEW SERVICE
[SERVICE] :
서비스의 추상적 인 수준은, 그가 실제 서비스 (호스트를 가리키는 IP + 포트)에 직접 매핑 할 수 있습니다, 당신은 또한 할 균형 업스트림 부하를 가리킬 수 있습니다. 인기있는 서비스가 무대 액세스 인터페이스 구성이라고 말했다.
받는 이동 SERVICES
페이지 추가ADD NEW SERVICE
필드 설명 :
Url
파라미터는 일회용 추가 프로토콜, 호스트, 포트 및 경로 파라미터 단순화된다. 또한, 넣지 않는 SERVICE
백엔드 특정의 API로, 우리는 다음과 같은 여러 API (엔드 포인트 또는 경로)를 가지고 좋은 서비스로 가져 가라. 라인에 도메인 이름 서비스에서 서비스 채우기를 만들 때 그래서. 물론, 밴드 수 path
의 Url
같은합니다 (API의 각과 관련, ROUTE
)를로 라우팅됩니다 path
위.
재산 | 기술 |
---|---|
이름 (필수) | 서비스 이름. |
태그 (선택 사항) | 선택적 서비스에 태그를 추가 |
URL (선택 사항) | 프로토콜, 호스트, 포트 및 즉시 경로 속성 브리핑을 설정합니다. 이 속성은 쓰기 전용 (관리 API 결코 "반환"URL)입니다 |
프로토콜 (필수) | 이 프로토콜은 상류와 통신하는 데 사용됩니다. 그것은 HTTP (기본값) 또는 https를 할 수 있습니다. |
host(必填) | upstream服务器的主机。 |
port(必填) | upstream服务器端口。默认为80 |
path(可选) | 在向upstream服务器请求中使用的路径。默认为空。 |
retries(可选) | 在代理失败的情况下执行的重试次数。默认值是5。 |
connect_timeout(可选) | 建立到upstream服务器的连接的超时时间。默认为60000。 |
write_timeout(可选) | 将请求发送到upstream服务器的两个连续写操作之间的超时时间。默认为60000。 |
read_timeout(可选) | 将请求发送到upstream服务器的两个连续读取操作之间的超时时间。默认为60000。 |
添加成功返回SERVICES
界面,查看添加的Services
信息,两种查看方式:
2. ADD ROUTE
[ROUTE]:
路由的抽象,他负责将实际的 request 映射到 service
返回SERVICES
界面,选择example-service
服务
选择Routes
,然后ADD ROUTE
字段说明:
属性 | 描述 |
---|---|
name(可选) | 定义名称 |
tags(可选) | 向路由添加标记 |
protocols(可选) | 这条路线应该允许的协议列表。默认情况下,它是“http”、“https”,这意味着路由接受这两种方式。当设置为“HTTPS”时,HTTP请求会被请求升级到HTTPS。通过表单编码,符号是协议=http&协议=https。使用JSON,使用数组。 |
methods(半可选) | 与此路由相匹配的HTTP方法列表。例如: ["GET", "POST"].至少有一个主机、路径或方法必须被设置。用表单编码参数是methods[]=GET&methods[]=OPTIONS。使用JSON,使用数组。 |
hosts(半可选) | 与此路径匹配的域名列表。例如:example.com. 至少有一个主机、路径或方法必须被设置。用表单编码参数是 hosts[]=foo.com&hosts[]=bar.com。使用JSON,使用数组。 |
paths(半可选) | 与此路径相匹配的路径列表。例如: /my-path.至少有一个主机、路径或方法必须被设置。用表单编码参数是 paths[]=/foo&paths[]=/bar. 使用JSON,使用数组。 |
Regex priority(可选) | 当多个路由同时使用正则表达式匹配某个给定请求时,用来选择哪个路由解析该请求的数字。当两个路由匹配路径并且具有相同的regex_优先级时,将使用较旧的路由(最低创建位置)。注意,非regex路由的优先级不同(较长的非regex路由在较短的路由之前匹配)。默认为0。 |
strip_path(可选) | 当通过其中一条路径匹配路由时,从上游upstream请求URL中去掉匹配前缀。默认值为true。 |
preserve_host(可选) | 当通过一个主机域名匹配一条路由时,在upstream请求头中使用请求主机头。默认设置为false,upstream主机头将是服务主机的主机头。 |
添加成功返回SERVICES
界面,点击Routes
,查看路由。
又或者,可以从左侧ROUTES
导航进入查看路由。
3. 验证API 代理
浏览器验证
Kong API需要通过Routes
规则中配置的hosts or path
对请求进行API调度控制。
由于我们Routes
规则中配置的hosts是虚拟域名,因此,我们需要在本地及服务器hosts
列表中添加dns解析,这样在浏览器才可以携带host请求信息去正常访问Kong API。
“WIN +R 输入drivers”,调出hosts`
10.122.45.97 test.example.com
请求kong api
$ curl -i -X GET \
--url http://localhost:8000/request \
--header 'Host: test.example.com'
kong使用Admin API实现接口代理
请参阅官方文档
[sleepy↓]