Commit Graph

264 Commits

Author SHA1 Message Date
罗泽轩
a2fa3ff89d
ci: self host openid configuration (#2698)
Also split long test
2020-11-11 11:38:25 +08:00
罗泽轩
2c37f0e5f2
fix(key-auth): 'key' is required in consumer configuration (#2689)
Close #2686.

According to the
https://github.com/apache/apisix/pull/2120#discussion_r477153261,
instead of skipping consumer without key, we should make 'key' required
only for consumer configuration.
2020-11-10 16:08:46 +08:00
tzssangglass
53a8f5a2ed
fix: the jwt plugin does not handle the case where exp is empty. (#… (#2657)
fix #2649
2020-11-09 11:01:08 +08:00
罗泽轩
d2d826e6ab
fix(log-rotate): avoid creating multiple timers (#2596) 2020-11-09 09:09:33 +08:00
罗泽轩
ebf0563a40
change: disable skywalking by default. (#2632)
* fix: disable skywalking by default.

Close #2623.

* trailing sw

* clean test
2020-11-09 08:12:52 +08:00
罗泽轩
2ad7f65659
fix(jwt-auth): validate if the claimed secret is base64 encoded. (#2642) 2020-11-06 23:48:21 +08:00
tzssangglass
27875e5790
feat(jwt-auth): support to use of the RS256 algorithm (#2594)
* example for #2523

* fix: jwt-auth plugin RS256 algorithm is not easy to use. (#2523)

fix: add more test cases for jwt plugin. (#2355)

fix #2523

fix #2355
2020-11-06 10:16:20 +08:00
Firstsawyou
6061c8722b
fix: after proxy-mirror plugin mirroring request, http version change… (#2629)
fix #2618
2020-11-05 14:48:58 +08:00
Firstsawyou
b8e853cc39
fix: after proxy-mirror plugin mirroring request, the host in the mir… (#2626)
fix #2617
2020-11-05 08:56:18 +08:00
罗泽轩
4baee2461e
test: check the plugin name for each plugin (#2607)
Close #2579
2020-11-04 09:49:14 +08:00
YuanSheng Wang
34d53fc48b
test: format by reindex. (#2601) 2020-11-03 13:59:01 +08:00
罗泽轩
bf44ed124d
change: make lrucache lock optional (#2575) 2020-11-02 16:47:32 +08:00
guyang
37a0792eb4
bugfix: fix zipkin plugin error when used with limit count plugin (#2499)
fix #2377
2020-10-30 16:20:43 +08:00
罗泽轩
960077f245
fix(echo): modify response body correctly (#2561)
Fix #2427, #2554
2020-10-29 16:48:53 +08:00
YuanSheng Wang
b23475fcba
feat: upgrade skywalking plugin to support skywalking 8.0 . (#2389) 2020-10-29 15:29:52 +08:00
JinChen
61bcb18885
fix: jwt-auth add consumer_schema to the _M (#2555)
Signed-off-by: Jaycean <jinchen_jacean@163.com>
2020-10-29 14:37:13 +08:00
JinChen
d2aa1d8bfb
feat: get schema by schema_type (#2509)
* get schema by schema_type

* Fix setting non standard global variable JSON_ schema

* Fix setting non standard global variable JSON_ schema

* Modify the usage of ngx module

* Fix format issues caused by branch conflicts

* Modify the test case to return data
2020-10-29 09:26:59 +08:00
Firstsawyou
146e222e0c
fix: the plugin hmac-auth missed a \n (#2543)
* fix: the plugin hmac-auth missed a `\n`.
fix #2527

* docs: modify doc.

* fix: consumer-restriction.t and custom_hmac_auth.t
2020-10-28 13:37:22 +08:00
tzssangglass
9b63fd5710
feature: prometheus plugin apisix_http_status metric route tag Improve recognition (#2497)
fix #1574
2020-10-28 13:22:25 +08:00
Vinci Xu
d08d9466d8
chore: change test case to keep stable (#2541) 2020-10-27 23:37:48 +08:00
Alex Zhang
3306a3ed3c
feature: support percentage for fault injection (#2516) 2020-10-27 14:10:44 +08:00
YuanSheng Wang
6a7dfa6775
feat: implement api breaker plugin. (#2455)
Co-authored-by: liuheng <liuhengloveyou@gmail.com>
2020-10-27 13:40:23 +08:00
JinChen
e2f450fa1a
feat:The limit-conn plugin supports 'consumer_name' field (#2415)
The limit-conn plugin supports the` consumer_name` field
The method of PR is referred: #2333
2020-10-27 10:44:44 +08:00
Firstsawyou
80affa0366
feat: The limit-count plugin supports service_id field. (#2521)
fix #2518
2020-10-27 10:41:07 +08:00
罗泽轩
2a66762ca6
change(batch-requests): limit the body size to 1M (#2507)
To avoid blocking on reading large body file and
spending too much memory in encode JSON body.
2020-10-26 21:50:51 +08:00
罗泽轩
9500a8219a
change(jwt-auth): split schema to adapt different occasions (#2459)
Close #2288.
2020-10-26 20:26:11 +08:00
罗泽轩
009681179f
feat(response-rewrite): clear cache headers to avoid polluting the cache (#2504) 2020-10-26 20:25:53 +08:00
Firstsawyou
853a7be0f4
feat(hmac-auth): remove auth headers for hmac-auth plugin. (#2491)
fix #2490
2020-10-25 07:33:11 +08:00
Joey
127dac9ebb
feat(prometheus): Add consumer metric data support (#2469)
* feat: Add consumer support for prometheus metrics

Signed-off-by: imjoey <majunjiev@gmail.com>

* Add more detailed comments for newly added consumer label

Signed-off-by: imjoey <majunjiev@gmail.com>
2020-10-21 09:32:52 +08:00
罗泽轩
ed1f08f926
fix(limit-conn): conn and default_conn_delay should > 0 (#2478)
Close #2472.
2020-10-20 20:45:51 +08:00
JinChen
5fcbb4de9c
plugin(consumer-restriction): use draft7 way to rewrite the JSON Schema. (#2440)
fix: #2402
2020-10-19 09:55:08 +08:00
JinChen
9e1030ee42
feat: limit-count plugin supports limiting requests by consumer name. (#2421)
fixed #2333
2020-10-17 19:24:55 +08:00
YuanSheng Wang
c65f5c9465
feature: plugin limit-count support to use redis cluster (#2406)
fix #638

Co-authored-by: liuheng <liuhengloveyou@gmail.com>
2020-10-17 08:21:47 +08:00
罗泽轩
4f535e7401
fix(prometheus): don't provide etcd metrics when you don't use it (#2396) 2020-10-14 16:02:08 +08:00
YuanSheng Wang
5614a95758
feat(http-logger): support for specified the log formats via admin API (#2309)
curl http://****/apisix/admin/plugin_metadata/http-logger -d '
{
    "log_format": {
        "host": "$host",
        "@timestamp": "$time_iso8601",
        "client_ip": "$remote_addr"
    }
}'

when we enabled plugin http-logger, we will get the message body like:

{"host":"localhost","@timestamp":"2020-09-23T18:29:07-04:00","client_ip":"127.0.0.1","route_id":"1"}
{"host":"localhost","@timestamp":"2020-09-23T18:29:07-04:00","client_ip":"127.0.0.1","route_id":"1"}
2020-10-13 14:21:54 +08:00
罗泽轩
b8e4b8589d
change(hmac-auth): split schema to adapt different occasions (#2386) 2020-10-11 19:18:37 +08:00
YuanSheng Wang
73dfdf2185
feat: add new filed meta_style, collect the request information with original style. (#2364) 2020-10-09 16:33:07 +08:00
罗泽轩
5b97223592
feat: implemented referer-restriction plugin (#2352) 2020-10-06 18:20:17 +08:00
Firstsawyou
c3de84e285
feature: support consumer_name as key for limit-req plugin. (#2270)
fix #2267
2020-10-06 18:18:22 +08:00
YuanSheng Wang
20c670ce09
change(hmac-auth): update the organization of signing_string . (#2337)
fix #2336 .

ref:
https://help.aliyun.com/document_detail/29475.html?spm=a2c4g.11186623.2.15.62c73e789LVg02
https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html#RESTAuthenticationConstructingCanonicalizedAmzHeaders
2020-10-04 19:57:57 +08:00
罗泽轩
1db42368c0
fix(basic-auth): split schema to adapt different occasions (#2331) 2020-10-04 14:39:20 +08:00
YuanSheng Wang
c5dcced1cf
bugfix: when service works with upstream that contains a domain name, the merged configuration should not always changing. (#2322) 2020-10-04 13:12:28 +08:00
YuanSheng Wang
05840ca9e2
test: wait for more time and check the error log, old way is unstable. (#2341) 2020-09-30 17:05:46 +08:00
nic-chen
c375bd0cac
feat: replace timestamp with date and time in GMT format in plugin hmac-auth (#2301) 2020-09-28 09:10:26 +08:00
罗泽轩
70bd9802c5
bugfix: avoid overwriting Vary header in cors plugin (#2271) 2020-09-27 16:43:09 +08:00
guyang
ce6dc643dd
bugfix: return right response code when http_to_https enabled in redirect plugin. (#2311) 2020-09-27 09:35:28 +08:00
Wen Ming
13b0968340
Revert "feat(http-logger): support for specified the log formats via admin API (#2294)" (#2307)
This reverts commit 89f89f3004.
2020-09-24 23:50:22 +08:00
YuanSheng Wang
89f89f3004
feat(http-logger): support for specified the log formats via admin API (#2294) 2020-09-24 20:45:50 +08:00
YuanSheng Wang
3f9685f823
feat(http-logger): support to concat multiple log with separator. (#2286) 2020-09-24 10:58:44 +08:00
Vinci Xu
7beafd345a
fix: increase wait to avoid fail (#2290) 2020-09-23 22:48:34 +08:00
Firstsawyou
e94a5b3f58
feature: consumer provides access to a collection of service (#2241)
* test: add more test cases.

Co-authored-by: Yuansheng Wang <membphis@gmail.com>
2020-09-19 18:21:21 +08:00
Vinci Xu
89f4389ba7
fix[key-auth]: skip consumer when config has no key (#2120) 2020-09-18 21:49:01 +08:00
nic-chen
0a4bc95e3d
feat: hmac-auth add signed headers to calculate signature (#2239)
Co-authored-by: YuanSheng Wang <membphis@gmail.com>
2020-09-18 20:25:41 +08:00
YuanSheng Wang
4f900390f9
bugfix: independently check the "disabled" field to avoid schema ve… (#2099)
* bugfix: independently check the "disabled" field to avoid `schema` verification
  with other parameters.
2020-09-17 22:31:02 +08:00
Zhang Qiang
d05071868d
fix: return ok in kafka-logger (#2222) 2020-09-17 15:17:51 +08:00
nic-chen
84ce7ba781
feat: add AK/SK(HMAC) auth plugin. (#2192) 2020-09-16 14:27:56 +08:00
nic-chen
087f87a7e4
bugfix: grpc-transcode plugin converts http/json parameters abnormally (#2139)
* fix bug

* optimiz

* update grpc_server_example

* add test cases

* fix: test case

* fix: test case

* return val directly

* fix: test case respond body compare text

* fix test case error

Co-authored-by: Wen Ming <moonbingbing@gmail.com>
2020-09-10 18:02:16 +08:00
gy
a8621fb5a1
bugfix: updated the value of remaining when count changes in limit-count plugin. (#2121) 2020-09-06 21:52:13 +08:00
gy
d4216831e3
fix: log-rotate.t is unstable (#2164)
fix #2138
2020-09-06 12:10:42 +08:00
Vinci Xu
a3f865aa4b
fix: wait time is too short it will easy fail in some bad hardware environment (#2127) 2020-08-27 16:47:09 +08:00
YuanSheng Wang
9070a4fa95
feature: implemented plugin log-rotate, rotate log by interval time. (#2097) 2020-08-26 16:40:36 +08:00
YuanSheng Wang
1aefe915f1
change: update plugin's schema ip-restriction with draft7 way (#2091) 2020-08-24 09:27:49 +08:00
YuanSheng Wang
415f9221e2
change: use draft7 of JSON Schema for limit count pulgin (#2102) 2020-08-24 09:17:31 +08:00
YuanSheng Wang
d974c1871a
change: use draft7 style of JSON Schema. (#2100)
fix #2083.
2020-08-22 21:43:21 +08:00
YuanSheng Wang
cf882bda1e
feature: divide config.yaml into two files config-custom.yaml & confi… (#2023)
* feature: divide config.yaml into two files config-custom.yaml & config-default.yaml .

fix #1923
2020-08-18 20:18:55 +08:00
nic-chen
7525f1fcc9
feat(prometheus): add prometheus metrics node_info(hostname) (#2063)
* using a new metric `node_info` to store the hostname
2020-08-16 09:59:55 +08:00
Swayam Raina
6e0da454d1
feature: add apisix-version info to headers in APISIX core (#1961)
related #1877
2020-08-15 07:24:33 +08:00
Nirojan Selvanathan
240942e941
feature: implemented request-id plugin to uniquely track requests in APISIX (#2026)
fix #2022
2020-08-12 23:09:39 +08:00
罗泽轩
149a66ad40
feat: Vary needs to be used when Access-Control-Allow-Origin is not '*' (#2046)
See https://fetch.spec.whatwg.org/#cors-protocol-and-http-caches.
2020-08-12 09:12:58 +08:00
Nirojan Selvanathan
14f979edf8
test: Added test cases for openid connect introspection (#2018)
Fix #1718

* Added test case for token intropsection with Keycloak identity server
* Renamed oauth doc to openid-connect to correctly link with the plugin name
2020-08-08 18:24:42 +08:00
YuanSheng Wang
31f744580d
bugfix: used a table array to store the status, allow the plugin can (#1994)
be called multiple times.

fix #1986
2020-08-07 08:15:44 +08:00
Nirojan Selvanathan
712a23f9b0
feat: Support SSL verify option to Authz Keycloak plugin (#1924)
Fix #1855
2020-08-06 17:07:07 +08:00
Vinci Xu
2ac47735a1
feat: add '**' for alllow_headers and complete docs (#2004)
fix #1983
2020-08-06 16:13:33 +08:00
YuanSheng Wang
963e29951d
bugfix: passed the copied api_ctx, it may be freed if the api_ctx (#2002)
* bugfix: passed the copied `api_ctx`, it may be freed if the `api_ctx`
  was called in back timer async.

Fixed #1935.
2020-08-06 10:20:34 +08:00
YuanSheng Wang
e1c6d371a8
doc: update main picture of APISIX. (#1964)
* test case: formatted by `reindex`.
2020-08-02 09:35:37 +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
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
552d7008da
change: check input params schema of request-validation plugin. (#1920)
FIX #1881
2020-07-29 10:27:59 +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
Nirojan Selvanathan
a6179996d4
feature: new plugin request-validator (#1709) 2020-07-21 21:38:48 +08:00
wrl96
c41ababd41
bugfix(proxy-rewrite): symbol would be encoded to 0x3f (#1816) 2020-07-09 18:06:00 +08:00
YuanSheng Wang
d419fb2289
test: added test cases. (#1752) 2020-06-24 09:59:11 +08:00
YuanSheng Wang
6a43a8c735
feature: implemented plugin uri-blocklist . (#1727)
first step: #1617
2020-06-22 14:45:55 +08:00
Ayeshmantha Perera
f8f104dc0f
feature(echo): support header filter and access phases. (#1708) 2020-06-19 21:33:20 +08:00
YuanSheng Wang
e38d0a9dc8
change: update resty-radixtree to version 1.9 . (#1730) 2020-06-19 12:24:52 +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
Ayeshmantha Perera
1764890d08
feature: support body filter plugin echo. (#1632) 2020-06-13 20:56:11 +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
stone4774
d6cee162d6
plugin: add consumer-restriction (#1437) 2020-06-08 12:49:46 +08:00
dabue
171db26e12
test: add test case for #1625 to test the filed of overhead (#1645) 2020-06-05 21:23:42 +08:00
Wen Ming
f615cf7134
feature: support http_to_https in redirect plugin. (#1642) 2020-06-03 17:46:58 +08:00
Wen Ming
82f85e5946
test: added test tests for skywalking. (#1621) 2020-06-02 12:24:56 +08:00
Vinci Xu
6faf3ef2ed
bugfix(batch-requests): support cookie (#1599) 2020-06-02 09:26:24 +08:00
Wen Ming
398941b72f
feature: add skywalking plugin. (#1241) 2020-05-27 17:55:47 +08:00
Wen Ming
67a2096540
test cases: add doc and test cases for how to redirect http to https. (#1595)
* add FAQ about redirect http To https

* add test cases for serverless plugin and redirect plugin

Co-authored-by: rhubard <18734141014@163.com>
2020-05-26 23:11:29 +08:00
YuanSheng Wang
463c521929
feature(prometheus): support to collect metric overhead (#1576)
Fix #1534 .
2020-05-12 15:47:49 +08:00
nic-chen
0300304011
bugfix: got 500 error when using post method in grpc-transcode plugin(#1566) 2020-05-11 13:30:28 +08:00
Nirojan Selvanathan
64fcb9fd72
plugin: add HTTP logger for APISIX (#1396) 2020-05-09 16:19:41 +08:00