GoKu API Gateway CE配置檔案
阿新 • • 發佈:2018-12-19
配置檔案
1.GoKu擁有一個主配置檔案 goku.conf ,GoKu可以新建多個閘道器,每個閘道器一個資料夾。
2.GoKu的配置檔案採用 yaml 格式:
- 大小寫敏感。
- 使用縮排表示層級關係,縮排時不允許使用Tab鍵,只允許使用空格。
- 縮排的空格數無關,只需相同層級的元素左側對齊即可。
3.修改配置檔案後,重啟閘道器以使其生效
4.配置檔案的層級關係如下圖所示:
引數欄位表
一、goku.conf
引數名 | 說明 | 必填 | 型別 | 示例 | 備註 |
---|---|---|---|---|---|
host | 閘道器地址 | 是 | string | 192.168.21.222 | |
port | 埠號 | 是 | string | 8800 | |
gateway_conf_path | 閘道器所在路徑 | 是 | string | ./config/gateway |
二、gateway.conf
引數名 | 說明 | 必填 | 型別 | 示例 | 備註 |
---|---|---|---|---|---|
gateway_name | 閘道器名稱 | 是 | string GoKu | ||
gateway_alias | 閘道器別名 | 是 | string | goku | 用於拼接閘道器請求地址 |
gateway_status | 閘道器狀態 | 是 | string | on | on/off |
ip_limit_type | 開啟ip黑白名單 | 否 | string | none | 可取值:none/white/black |
ip_white_list | ip白名單 | 否 | []string | 列表 | |
ip_black_list | ip黑名單 | 否 | []string | 列表 | |
strategy_conf_path | 策略組所在路徑 | 是 | string | ./config/gateway/hm/strategy.conf | |
api_group_conf_path | API分組所在路徑 | 是 | string | ./config/gateway/hm/api_group.conf | |
api_conf_path | API所在路徑 | 是 | string | ./config/gateway/hm/api.conf |
三、backend.conf
引數名 | 說明 | 必填 | 型別 | 示例 | 備註 |
---|---|---|---|---|---|
backend_id | 後端服務id | 是 | int | 1 | 不可重複 |
backend_name | 後端服務名稱 | 是 | string | 開放介面 | |
backend_path | 後端服務路徑 | 是 | string | https://api.apishop.net | 不可重複 |
四、strategy.conf
引數名 | 說明 | 必填 | 型別 | 示例 | 備註 |
---|---|---|---|---|---|
strategy_name | 策略組名稱 | 是 | string | OpenAPI | |
strategy_id | 策略組id | 是 | string | sjdkjs | 隨機字串,不可重複 |
auth | 鑑權方式 | 是 | string | apikey | 可取值:none/basic/apikey |
api_key | 用於apikey鑑權方式 | 否 | string | fd9befe929399f09c393 | |
basic_user_name basic | 使用者名稱 | 否 | string | 123 | |
basic_user_password | basic密碼 | 否 | string | 123 | |
ip_limit_type | 開啟ip黑白名單 | 否 | string | none | 可取值:none/white/black |
ip_white_list | ip白名單 | 否 | []string | 列表 | |
ip_black_list | ip黑名單 | 否 | []string | 列表 | |
rate_limit_list | 流量控制 | 否 | []string | 列表 | |
allow | 是否允許訪問 | 否 | bool | true | true/false |
priority | 流控優先順序 | 否 | int | 999 | 流控執行優先順序:0~999 |
start_time | 流控開始時間 | 否 | int | 6 | 0~24 |
end_time | 流控結束時間 | 否 | int | 22 | 0~24 |
period | 流控單位 | 否 | string | min | 可取值:sec/min/hour/day |
limit | 限流次數 | 否 | int | 1000 |
五、api_group.conf
引數名 | 說明 | 必填 | 型別 | 示例 | 備註 |
---|---|---|---|---|---|
group_id | api分組 id | 是 | int | 2 | 不可重複 |
group_name | api分組名稱 | 是 | string | 通用介面 |
六、api.conf
引數名 | 說明 | 必填 | 型別 | 示例 | 備註 |
---|---|---|---|---|---|
api_name | 引數名 | 是 | string | 查詢全國油價 | |
group_id | 所屬分組 | 是 | int | 0 | 0代表無分組 |
backend_id | 對應後端服務 | 是 | int | 1 | |
request_method | 閘道器請求方式 | 是 | string | post | 陣列,可取值:get/post/put/delete/options/patch/head |
request_url | 閘道器請求路徑 | 是 | string | /common/oil/getOilPriceToday | |
proxy_method | 後端請求方式 | 是 | string | post | 非陣列,可取值:get/post/put/delete/options/patch/head |
proxy_url | 後端請求路徑 | 是 | string | /common/oil/getOilPriceToday | |
proxy_body_type | body型別 | 是 | string | formdata | 可取值:formdata/raw/json |
porxy_body | raw資料 | 否 | string | ||
proxy_params | 請求引數對映 | 否 | 列表 | ||
key | 閘道器引數名 | 否 | string | province | |
key_position | 閘道器引數位置 | 否 | string | body | 可取值:header/body/query,當為raw資料時body不可取 |
not_empty | 是否必填 | 否 | bool | ||
proxy_key | 後端引數名 | 否 | string | province | |
proxy_key_position | 後端引數位置 | 否 | string | body | 可取值:header/body/query,當為raw資料時body不可取 |
constant_params | 常量引數 | 否 | 列表 | ||
key | 引數名 | 否 | string | apiKey | |
position | 引數位置 | 否 | string | body | 可取值:header/body/query,當為raw資料時body不可取 |
value | 引數值 | 否 | string | 9399f09c393fd9befe92 |
想了解更多國內首款GO語言閘道器資訊,請留意:https://agw.eolinker.com,或者關注本部落格,部落格將會及時更新eoLinker最新資訊。