Commit Graph

100 Commits

Author SHA1 Message Date
nic-chen
65df727af4
feat: script distribute and run (#1982)
Supporting distribution and execution scripts, we can implement many new features, 
such as plug-in orchestration.
2020-08-05 14:11:22 +08:00
YuanSheng Wang
c67e998dad
bugfix: fail to handshake if there is no certificate matched by host. (#1980)
* bugfix: fail to handshake if there is no certificate matched by host.
* fix:  grpc proxy test case
2020-08-04 23:20:34 +08:00
taotao
6adbf02a06
core: support get_scheme/host/port/http_version in core.request (#1978) 2020-08-04 09:36:05 +08:00
YuanSheng Wang
2073087909
perf: used empty table if the user is not enabled any plugin. (#1967) 2020-08-04 09:30:13 +08:00
Vinci Xu
2936c7d89d
feat: add option for cors and bugfix (#1963)
fix #1915 #1704
2020-08-01 08:03:22 +08:00
YuanSheng Wang
8fc2af56ae
bugfix: avoid to modify the original plugin conf. (#1958)
relate issue: #1934 , #1956
2020-07-31 20:19:12 +08:00
YuanSheng Wang
2ba0231140
bugfix: passive health check seems never provide a healthy report (#1918)
Fix #1640
2020-07-31 19:31:20 +08:00
nic-chen
29b15892b7
feat: support both standard PATCH and sub path PATCH for admin api (#1930)
fix #1823
2020-07-31 09:21:08 +08:00
nic-chen
7f64ba810e
change: add more prometheus metrics(etcd modify index) (#1888)
* feat: add more metrics for prometheus

* test: add test cases

* fix: check lint error

* remove hostname metrics. -> can't save string value.

* add more index

* add X-Etcd-Index

* fix lint

* test: add more test cases

* fix: Avoid the index to exceed 1000 by updating other keys that will causing a full reload

* add prev_index

* fix lint

* fix: fetch key first

* fix: test error

* fix update version only when waitdir error is timeout

* test

* fix: sleep more time

* fix: code style

* fix: code style
2020-07-30 15:27:00 +08:00
Janko
2433152d9a
bugfix: fix limit-count plugin redis.ttl error. (#1928)
FIX #1901
2020-07-30 13:26:26 +08:00
Nirojan Selvanathan
0ad813eb51
plugin(batch): change processor name and error return type fix (#1927)
Fix #1522
Fix #1521
2020-07-29 20:54:58 +08:00
YuanSheng Wang
f9a8a26dd4
feature: add a new option, decide if we remove the "/" at the end of … (#1766)
* feature: add a new option, decide if we remove the "/" at the end of the URI before route matching.

fix #1765
2020-07-29 19:25:30 +08:00
YuanSheng Wang
20207c8108
bugfix: read the request body from the temporary file if it was cached. (#1863) 2020-07-29 19:24:27 +08:00
YuanSheng Wang
fbc3c6818d
feature: allow to set retries=0 for upstream object. (#1919) 2020-07-29 19:21:50 +08:00
Janko
552d7008da
change: check input params schema of request-validation plugin. (#1920)
FIX #1881
2020-07-29 10:27:59 +08:00
Janko
520ef311e3
feature: health check supports custom host port. (#1914) 2020-07-28 23:51:42 +08:00
YuanSheng Wang
4015071e30
change: the timeout of healthcheck should be number type. (#1892) 2020-07-27 16:19:01 +08:00
YuanSheng Wang
2d667ecb70
bugfix: should not save the runtime data of plugin into etcd. (#1910)
Fixed #1836 .
2020-07-27 14:43:50 +08:00
Janko
a108d2eee1
bugfix: failed to get host in health check configuration. (#1871)
The `host` of health check should be sub-item of `check.active` .

FIX #1869
2020-07-27 13:47:14 +08:00
Nirojan Selvanathan
a6179996d4
feature: new plugin request-validator (#1709) 2020-07-21 21:38:48 +08:00
nic-chen
c1ee898a1a
release: released 1.4.1 version (#1872) 2020-07-20 18:13:31 +08:00
YuanSheng Wang
47b0ef372e
bugfix: fetch wrong the upstream node when there were multiple upstream node with host (#1835)
Fix #1834
2020-07-17 21:51:51 +08:00
mtx2d
24d7007e94
change: removed useless plugin heartbeat (#1845)
Fix #1176
2020-07-16 17:31:39 +08:00
wrl96
54abe58315
bugfix: failed to set server peer when upstreams.node is address in apisix.yaml (#1824)
Fix #1798
2020-07-10 18:47:11 +08:00
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
wrl96
c41ababd41
bugfix(proxy-rewrite): symbol would be encoded to 0x3f (#1816) 2020-07-09 18:06:00 +08:00
jackstraw
e6e387a1c5
bugfix: missing argument premature because it was called by ngx.timer . (#1796) 2020-07-03 07:10:36 +08:00
ko han
aeab71df80
change: 'get_plugin_list' API sorts the return list base on priority (#1779) 2020-07-01 17:05:02 +08:00
morrme
a9d60f97c5
change: remove authentication type for cors plugin (#1788)
fix #1787
2020-07-01 13:52:47 +08:00
jackstraw
3061aeefa3
bugfix(config etcd): when we reset the fetched data, sync_times also needs to be reset. (#1785) 2020-07-01 09:28:00 +08:00
Nirojan Selvanathan
d787cbd55e
release: released 1.4-0 version (#1742) 2020-06-30 13:34:00 +08:00
YuanSheng Wang
ee7533874d
optimize: Use lru to avoid resolving IP addresses repeatedly . (#1772)
* optimize: Use lru to avoid resolving IP addresses repeatedly .
Cached the global rules to `ctx` .

* optimzie: used a longer time interval for etcd and flush access log.

* optimize: return upstream node directly if the count is 1 .

* optimize: avoid to cache useless variable.
2020-06-28 18:14:38 +08:00
YuanSheng Wang
0ce0ed5fed
plugin(heartbeat): use info log level when failed to report heartbeat. (#1771) 2020-06-28 16:48:27 +08:00
Shenal Silva
492fa71cbc
bugfix: added content-type for admin API responses (#1746) 2020-06-24 13:57:10 +08:00
Nirojan Selvanathan
78ab35db29
bugfix: Fix for remote open ID connect introspection (#1743)
fix #1741
2020-06-24 09:19:13 +08:00
YuanSheng Wang
6a43a8c735
feature: implemented plugin uri-blocklist . (#1727)
first step: #1617
2020-06-22 14:45:55 +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
f1e66ad1a3
bugfix: id can be string object, which contains ^[a-zA-Z0-9-_]+$. (#1739)
Fix #1654
2020-06-21 16:28:11 +08:00
Ayeshmantha Perera
f8f104dc0f
feature(echo): support header filter and access phases. (#1708) 2020-06-19 21:33:20 +08:00
YuanSheng Wang
7307797f0e
feature: support the use of independent files to implement the load a… (#1732)
* feature: support the use of independent files to implement the load algorithm,
which is convenient for expanding different algorithms in the future.
2020-06-19 12:46:20 +08:00
Vinci Xu
3010e04d47
feat[batch-request]: cp all header to every request (#1697) 2020-06-16 18:09:02 +08:00
Nirojan Selvanathan
cd98a2bec8
feature: support authorization Plugin for Keycloak Identity Server (#1701) 2020-06-16 13:51:36 +08:00
xxm404
1251385734
change: use iterate to scan items in etcd. (#1717)
related issue: #1685
2020-06-16 13:34:53 +08:00
Ayeshmantha Perera
1764890d08
feature: support body filter plugin echo. (#1632) 2020-06-13 20:56:11 +08:00
nic-chen
56aeb4a6a9
feature: ssl enhance (#1678)
support enable or disable ssl by patch method
support encrypted storage of the SSL private key in etcd
support multi snis

Fix #1668
2020-06-13 16:10:27 +08:00
YuanSheng Wang
b34b554597
change: set default reject code for some plugins (#1696)
plugin list:

limit-count
limit-conn
limit-req
2020-06-11 15:30:14 +08:00
nic-chen
b59a519197
feat: support resource name for route, service and upstream object. (#1655) 2020-06-09 08:26:33 +08:00
stone4774
d6cee162d6
plugin: add consumer-restriction (#1437) 2020-06-08 12:49:46 +08:00
YuanSheng Wang
c452846b81
bugfix: wildcard certificates cannot match multi-level subdomains in … (#810) 2020-06-08 10:52:25 +08:00
Wen Ming
f615cf7134
feature: support http_to_https in redirect plugin. (#1642) 2020-06-03 17:46:58 +08:00