nic-chen
e598e6fa6a
bugfix: wrong counter was used, resulting in only one certificate working fine. ( #1818 )
...
Fix #1817
2020-07-10 18:39:08 +08:00
Raisinata
0e517a25d6
feature: using GitHub action for CI ( #1793 )
2020-07-09 12:15:17 +08:00
YuanSheng Wang
748e33756b
refactory: collect upstream
logic and put them in a single file. ( #1734 )
...
feature: support dynamic upstream in plugin.
here is a mini example in `access` phase of plugin:
```lua
local up_conf = {
type = "roundrobin",
nodes = {
{host = conf.upstream.ip, port = conf.upstream.port, weight = 1},
}
}
local ok, err = upstream.check_schema(up_conf)
if not ok then
return 500, err
end
local matched_route = ctx.matched_route
upstream.set(ctx, up_conf.type .. "#route_" .. matched_route.value.id,
ctx.conf_version, up_conf, matched_route)
return
```
2020-06-22 14:21:42 +08:00
YuanSheng Wang
e38d0a9dc8
change: update resty-radixtree
to version 1.9 . ( #1730 )
2020-06-19 12:24:52 +08:00
YuanSheng Wang
2025337077
test: add test case for route with filter_func
. ( #1683 )
2020-06-11 11:03:02 +08:00
YuanSheng Wang
c9a53abbb9
test: updated style. ( #1606 )
2020-05-22 21:34:58 +08:00
qiujiayu
e7d19ec160
feature: support discovery center ( #1440 )
2020-05-14 23:20:44 +08:00
YuanSheng Wang
89a07efb51
test: reindex by tools reindex
. ( #1519 )
2020-04-28 18:54:14 +08:00
罗泽轩
972840ec96
fix: skip tombstone mark when iterating the global values ( #1517 )
...
Close #1473 .
2020-04-28 17:25:55 +08:00
YuanSheng Wang
0f3310562c
bugfix: init clean_handlers
when add new item from etcd. ( #1412 )
...
fix #1384
2020-04-28 16:01:04 +08:00
nic-chen
a53b4707fb
feat: support saving k8s deployment info to upstream ( #1502 )
...
* feat: support save k8s deployment info to upstream
2020-04-27 10:47:17 +08:00
罗泽轩
ca91387a60
test: fix regex usage in some cases ( #1504 )
2020-04-26 10:43:08 +08:00
YuanSheng Wang
669772f5d5
bugfix: check if the service's upstream node is host. ( #1402 )
2020-04-12 09:31:58 +08:00
YuanSheng Wang
076ecf3ade
bugfix: should not drop the error msg of dns_parse
. ( #1398 )
...
fix #573 .
2020-04-06 11:04:09 +08:00
YuanSheng Wang
51684de77b
bugfix: fail to get the http request header by ngx.var. *
( #1348 )
...
* bugfix: to get the HTTP request header by `ngx.var.*`, we need to convert
the name to lower case with dashes replaced by underscores.
more information:
http://nginx.org/en/docs/http/ngx_http_core_module.html#var_http_
* change: the key should be a string object when fetching a value from `ctx.var`.
* bug(make lint): If the code style is bad, do exit with code 1.
2020-03-27 23:13:46 +08:00
qiujiayu
7baa0abd44
feature: if the dns_resolver
is not set in the file conf/config.yaml
, use the resolver in local DNS. ( #1217 )
...
Fix #1164
2020-03-26 09:48:18 +08:00
YuanSheng Wang
8d745c7441
test: wait a longer time. ( #1323 )
2020-03-23 00:03:51 +08:00
YuanSheng Wang
60b88536fe
bugfix: check the count of upstream valid node. ( #1292 )
2020-03-19 12:07:43 +08:00
Lien
e6804360d1
feature: supported to enable Websocket in upstream
object ( #1051 )
2020-01-14 14:37:24 +08:00
YuanSheng Wang
ea7e783fca
test: style, reformatted by reindex
tools. ( #1045 )
2020-01-14 09:51:05 +08:00
Changwei Hu
9c9be959d3
feature: chash key support more flexible ways ( #1022 )
...
upstream add hash_on, chash key support more flexible ways
routes and services admin api add upstream_conf check
2020-01-10 15:17:17 +08:00
YuanSheng Wang
9e98773fae
change: responsed a better tip when failed to match any route. ( #1013 )
2020-01-03 10:11:37 +08:00
YuanSheng Wang
536f547df8
test: removed temporary data. ( #829 )
2019-11-27 10:05:06 +08:00
YuanSheng Wang
70d3f0b608
bug: fixed bug when no valid upstream node. ( #893 )
2019-11-25 16:46:20 +08:00
罗泽轩
5e85e93eac
change: don't strip square brackets from the IPv6 ( #822 )
...
* change: don't strip square brackets from the IPv6
The OpenResty APIs require the IPv6 literal wrapped inside a square brackets.
Also add tests for IPv6 upstream and update lua-resty-ipmatcher to 0.3.
Fix #816 .
2019-11-11 09:49:22 +08:00
罗泽轩
b67f99b265
chore: fixed typo detected by misspell ( #801 )
2019-11-05 10:58:04 +08:00
Lien
b91d2d36c0
Fix: allow set multiple URI in one route config ( #797 )
...
* route support uris
* fix uris in router with test cases
* remove line has trailing whitespace
* remove line has trailing whitespace
* fix test case
* use new test case for multiple uris
2019-11-04 14:00:52 +08:00
Lien
b119a5c94b
bugfix: support more built-in parameters when set chash balancer ( #775 )
2019-11-03 18:25:51 +08:00
YuanSheng Wang
4ee11806de
travis: supported to run APISIX with Tengine. ( #683 )
2019-11-02 09:05:38 +08:00
YuanSheng Wang
ad376f83f8
change: updated resty-radixtree to v1.5. ( #768 )
...
* feature: supported userdefine lua function in router `radixtree_uri`.
* feature: supported userdefine lua function in router `radixtree_host_uri`.
2019-11-01 09:49:09 +08:00
WenMing
12a2b01b71
license: add ASF header. ( #743 )
2019-10-31 09:27:28 +08:00
YuanSheng Wang
d8b0c2d04c
change: removed router r3. ( #725 )
2019-10-23 12:59:22 +08:00
YuanSheng Wang
d06fbfa13c
change: used lua-resty-jsonschema
instead of lua-rapidjson
. ( #703 )
2019-10-23 12:58:10 +08:00
YuanSheng Wang
6b875cec33
feature(limit-count): supported global limit count with redis server. ( #624 )
2019-10-08 13:15:48 +08:00
Janko
d91be43a4f
change: remove options host
、uri
、schema
、enable_websocket
of upstream object ( #621 )
...
we can rewrite new proxy option by plugin `proxy-rewrite`.
2019-09-27 19:29:59 +08:00
YuanSheng Wang
3f700c5dc1
doc(admin api): route. ( #593 )
...
feature: supported new fields hosts, remote_addrs and vars for router.
fix : #592
2019-09-26 17:47:08 +08:00
YuanSheng Wang
4bb9e6ecb9
test: added new test case about https://github.com/iresty/apisix/pull/586 . ( #587 )
...
* test: added test cases.
2019-09-24 18:26:43 +08:00
YuanSheng Wang
de3c95da21
feature: support consumer bind plugins. ( #544 )
...
* feature: saved consumer plugin information.
* feature: supported to merge plugin with consumer and route.
2019-09-22 06:05:58 +08:00
YuanSheng Wang
894fa584e0
feature: supported to use host name in upstream ( #522 )
...
* feature: supported to config resolver in yaml config file.
* feature: supported domain host for upstream node
2019-09-18 17:41:44 +08:00
YuanSheng Wang
681a42cbed
feature: support upstream nodes with a weight of 0. ( #536 )
...
* test: added test cases.
* doc: updated doc.
current implementation is enough, it supports weight equal 0 now.
2019-09-18 12:00:53 +08:00
Yuansheng
14d5a38fc3
test: renamed base component.
2019-09-10 16:15:59 +08:00
YuanSheng Wang
912685c818
feature: supported to save/delete/change global rule. ( #492 )
...
* feature: supported to load and run global rule.
2019-09-10 15:27:40 +08:00
Yuansheng
4bb40df857
change(test): name style.
2019-09-10 10:07:29 +08:00
YuanSheng Wang
d8d7f018dc
feature: support to load routes from local yaml file. ( #464 )
...
* feature: support to load routes from local yaml file.
2019-09-09 17:42:20 +08:00
YuanSheng Wang
af3454c6ee
change: updated component lua-resty-radixtree
to v0.7 and updated test ( #470 )
...
* change: updated component `lua-resty-radixtree` to v0.7 and updated test
cases.
2019-09-05 17:23:06 +08:00
Yuansheng
9ff1d3fd44
feature: supported to filter route by Nginx variable for router radixtree_uri
.
2019-09-02 15:31:21 +08:00
YuanSheng Wang
ad98a2bfdb
feature: supported to set more upstream options. ( #451 )
...
* feature: supported to set more upstream options.
* feature: supported to enable websocket for upstream.
2019-08-30 10:15:58 +08:00
YuanSheng Wang
1002765831
feature: support to match IPv6 request. ( #341 )
...
* CLI: supported to listen IPv6.
* feature: supported to match route by remote address.
2019-08-24 09:10:11 +08:00
YuanSheng Wang
275cfa8c73
change(router): use radixtree_sni
as default SSL router. ( #419 )
...
* change(router): use `radixtree_sni` as default SSL router.
* change(route): use `radixtree_uri` as default HTTP(S) router.
* luarocks: removed `lua-resty-libr3` component by default.
2019-08-20 22:07:59 +08:00
YuanSheng Wang
560a3115a1
bugfix: avoided to cover the original service configuration. ( #416 )
...
* bugfix: avoided to cover the original service configuration.
2019-08-19 15:26:38 +08:00
YuanSheng Wang
59da5e78e5
bugfix: stop the checker if the config source is changed. ( #406 )
...
* bugfix: stop the checker if the config source is changed.
* test: added new test cases.
2019-08-19 14:02:33 +08:00
YuanSheng Wang
1ef5828090
feature: supported to use router lua-resty-radixtree
. ( #391 )
...
* feature: supported new router `lua-resty-radixtree`.
* change(nginx.conf): sync from CLI.
2019-08-12 09:04:41 +08:00
Yuansheng
1ce988346a
optimize(router): used local cache variable to avoid one lrucache call.
2019-08-04 23:20:55 +08:00
Yuansheng
66ac7ed200
doc(architecture): added new doc about router
.
2019-08-04 23:20:55 +08:00
Yuansheng
3bc0d64b49
feature: supported to match route by host + uri
.
2019-08-04 23:20:55 +08:00
Yuansheng
e4a9299b05
test(healthcheck): only match part error log, it is enough.
2019-08-04 15:06:14 +08:00
Yuansheng
7deeafa356
test: use smaller connection and change to short connection.
2019-08-02 21:51:58 +08:00
YuanSheng Wang
7e36cf5b9e
bugfix: failed to fetch upstream id in balancer
phase. ( #356 )
...
* bugfix: failed to fetch upstream id in `balancer` phase.
* bugfix: cached `route` object maybe not a Lua table.
2019-08-02 16:29:00 +08:00
YuanSheng Wang
b8fd0da486
feature: allow user to define how to create route index. ( #325 )
2019-07-28 19:37:31 +08:00
Yuansheng
3b263fe2ee
test: change the block code to smaller size.
2019-07-25 17:08:29 +08:00
Yuansheng
873192c033
test(route): added new test cases.
2019-07-25 17:08:29 +08:00
Yuansheng
7d5237c3ca
test(healthcheck): ignore the error log which contain process exiting
.
2019-07-25 13:45:49 +08:00
Yuansheng
f44b49105e
test: fixed case under OSX.
2019-07-22 14:13:05 +08:00
YuanSheng Wang
526e0cb70c
feature(balancer): supported to set retries and timeouts, and set upstream node status by passive health check. ( #288 )
...
* feature(balancer): supported to set retries and timeouts, and set
upstream node status by passive health check.
2019-07-22 11:27:30 +08:00
YuanSheng Wang
5e119c4828
luarocks: added new dependency lua-resty-healthcheck
. ( #249 )
...
* luarocks: added new dependencies `lua-resty-healthcheck` and `lua-resty-worker-event`.
* feature(balancer): fetched health node from upstream nodes in balancer phase when enabled
healthcheck.
2019-07-17 23:52:15 +08:00
Yuansheng
1bb135af60
feature: supported for using wildcard to match the SNI of client https
...
request.
2019-06-24 18:49:30 -04:00
Yuansheng
7dbcea8571
feature: supported to manage ssl item by admin API and HTTPS client request.
2019-06-24 18:49:30 -04:00
YuanSheng Wang
ca1f5e7b0d
feature: added remote_addr
attribute to route. ( #142 )
...
* feature: added `remote_addr` attribute to route.
2019-06-21 06:39:47 +08:00
Yuansheng
678e4228a0
feature: supported for using wildcard pattern to match host.
2019-06-20 10:00:07 -04:00
YuanSheng Wang
36338bc95b
feature: merged the configuration between route and service. ( #133 )
...
* feature: merged the configuration between route and service.
2019-06-19 15:51:28 +08:00
YuanSheng Wang
2647bdddcb
test: removed useless option. ( #132 )
2019-06-19 15:48:16 +08:00
YuanSheng Wang
912e8b106d
feature: supported to match host of client request. ( #130 )
2019-06-19 12:41:38 +08:00
YuanSheng Wang
c02d44f8e7
feature: added test cases about round-robin load balance algorithms. ( #123 )
...
* feature: added test cases about round-robin load balance algorithms.
* feature: added test cases about consistent hash algorithms.
2019-06-17 23:17:41 +08:00
Yuansheng
1921ea8ba5
feature: use schema check for service configuration.
...
Fix #111 .
2019-06-17 09:08:16 +08:00
Yuansheng
5a966152ba
test: missing no_shuffle()
in node/sanity.t
test case and added
...
more step information.
2019-06-16 12:33:13 +08:00
YuanSheng Wang
31cfc145bd
test: grep all of the error log and check it. ( #109 )
...
* travis: init the etcd server at first.
* test: grep all of the error log and check it.
2019-06-16 09:36:22 +08:00
YuanSheng Wang
dae069d51a
bugfix: returned 404 response if the service is not existing. ( #107 )
...
* bugfix: returned 404 response if the service is not existing.
2019-06-15 22:34:26 +08:00
YuanSheng Wang
16f5f27c90
feature: used schema to check the upstream configuration in etcd. ( #105 )
...
* feature: used schema to check the upstream configuration in etcd.
* change: used Lua table to avoid concat JSON string by manual for schema.
* optimize: changed a smaller wait time, faster way to know if there has new data coming.
2019-06-15 11:49:58 +08:00
YuanSheng Wang
32110aeba0
feature: returned 502 if there is no any valid upstream. ( #100 )
...
* feature: returned 502 if there is no any valid upstream.
2019-06-15 08:32:51 +08:00
YuanSheng Wang
f560316803
test: check the service config with json schema
after fetched it form etcd. ( #96 )
...
* test: check the service config with `json schema` after fetched it form etcd.
* test: sleep one more seconds waiting for the etcd sync.
2019-06-14 17:08:44 +08:00
YuanSheng Wang
f270c6ff63
feature: used schema to check the etcd data if it is valid. ( #91 )
...
* feature: used schema to check the etcd data if it is valid.
2019-06-14 10:46:42 +08:00
YuanSheng Wang
2ebc2cee69
test: added a fully test case for gateway node. ( #90 )
...
* test: added a fully test case for gateway node.
2019-06-14 10:27:45 +08:00
Yuansheng
9ee285661f
test: renamed test cases.
2019-06-14 08:08:59 +08:00