Commit Graph

257 Commits

Author SHA1 Message Date
hejizi
70186db6ff
feat: support customzing worker's user (#4362)
Co-authored-by: Alex Zhang <tokers@apache.org>
Co-authored-by: Shuyang Wu <wosoyoung@gmail.com>
Co-authored-by: 袁士成 <yuanshicheng@css.com.cn>
2021-06-06 13:55:37 +08:00
Yuelin Zheng
01360fb9ad
feat: support custom variables_hash_max_size parameters in config.yaml (#4344) 2021-05-31 19:06:39 +08:00
wang xiang
4d60170ee0
feat: add real_ip_recursive to nginx.conf (#4332) 2021-05-31 08:54:42 +08:00
罗泽轩
98d6b12419
chore: show priority of stream plugins (#4326)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-05-28 19:47:25 +08:00
Yuelin Zheng
7e4ff9880d
chore: support custom charset parameters in config.yaml (#4331) 2021-05-28 18:07:30 +08:00
罗泽轩
d6acd8d568
chore: sort plugin by priority and recommend priority for custom plugin (#4292)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-05-24 17:41:50 +08:00
罗泽轩
0a0aa9a757
chore: remove stale yamllint comment (#4278)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-05-19 22:11:34 -04:00
Yuelin Zheng
5993b6a71c
feat: support the configuration of keepalive related parameters in upstream (#4261) 2021-05-18 14:28:30 +08:00
罗泽轩
232134ad6b
docs: avoid the misleading comment (#4189) 2021-05-07 08:55:17 +08:00
罗泽轩
624f59fc78
feat: step 3, manage the plugin runner (#4163)
* feat: step 3, manage the plugin runner
* feat: step 4, add prepare_conf protocol
2021-05-04 10:41:08 +08:00
罗泽轩
f3b057609f
feat(ext-plugin): step 2, add basic structure (#4119)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-04-29 11:07:05 +08:00
罗泽轩
6a986f4649
change(prometheus): don't expose metrics to internet (#3994)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-04-07 14:40:28 +08:00
罗泽轩
baf8434034
fix: allow addr:port format in stream_proxy (#3900)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-03-25 09:07:05 +08:00
罗泽轩
1a09b0d7a0
feat(cli): support etcd mTLS (#3836) 2021-03-23 20:03:21 +08:00
罗泽轩
20ee3c1ecb
feat: add a safe exit to disable sync conf during start (#3812) 2021-03-12 14:53:58 +08:00
罗泽轩
2a6e2b4247
feat: add dns discovery (#3629)
Fix #3517
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-02-25 09:42:31 +08:00
罗泽轩
18909a2a0b
feat: allow disabling search option in resolv.conf (#3609)
Also disable it in the test to avoid occassional DNS query timeout.
2021-02-20 15:38:45 +08:00
nic-chen
13f3139fbb
change: global rules should not be executed on the internal api (#3396) 2021-02-10 12:01:58 +08:00
罗泽轩
653e15350b
change: default to cache DNS record according to the TTL (#3530)
Since lua-resty-dns-client provides an internal cache, we don't need to
cache it twice.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-02-10 11:41:13 +08:00
罗泽轩
d752b6f364
feat: allow customizing lua_package_path & lua_package_cpath (#3417) 2021-01-27 14:45:32 +08:00
罗泽轩
da62190d95
feat: allow to pass SNI in HTTPS proxy (#3420)
Fix #2988
2021-01-26 23:36:12 +08:00
罗泽轩
8c7a6887ec
ci: address yamllint warnings (#3422)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2021-01-26 18:20:39 +08:00
Shuyang Wu
923e504e19
chore: fix kubernetes yaml not working (#3410) 2021-01-25 23:57:00 +08:00
罗泽轩
e3601e6876
feat: support dubbo (#3224)
Fix #89
2021-01-20 09:47:09 +08:00
shenshaoye
4aeef386f0
feat: support more customize configure in nginx.conf (#3204)
Co-authored-by: 沈鑫杰 <xinjie.shen@chaitin.com>

related #3203
2021-01-07 19:21:02 +08:00
YuanSheng Wang
151d74fd9c
chore: enable plugin server-info by default. (#3170)
Co-authored-by: spacewander <spacewanderlzx@gmail.com>
2021-01-04 20:18:21 +08:00
罗泽轩
81c1c7c077
change: don't treat route segment with ':' as parameter by default (#3154)
Fix #3134
2020-12-30 22:13:05 +08:00
Yuelin Zheng
86fa46d85b
feat: Implement traffic splitting plugin (#2935)
close #2303
close #2603
2020-12-25 15:53:00 +08:00
罗泽轩
924a30db36
feat: add control API (#3048)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
Co-authored-by: John Bampton <jbampton@users.noreply.github.com
2020-12-18 15:05:09 +08:00
John Bampton
6331e5d057
feat(CI): add a GitHub Action to lint the YAML files (#3044)
Lint some YAML
Add a `.yamllint` config file
2020-12-18 08:29:17 +08:00
John Bampton
3c01db5ef0
chore: spelling (#3012)
Co-authored-by: 罗泽轩 <spacewanderlzx@gmail.com>
Co-authored-by: YuanSheng Wang <membphis@gmail.com>
2020-12-13 00:04:48 +08:00
Shuyang Wu
b7325f033e
fix: enable ssl as default, using placeholder certificate (#3013) 2020-12-11 17:44:41 +08:00
罗泽轩
93e2f1647a
feat: route accroding to the graphql attributes (#2964)
Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-10 15:51:00 +08:00
罗泽轩
85a84fb191
fix: avoid unnecessary type check and support var in local_conf (#2990)
Also merge bundle of repeated code.

Signed-off-by: spacewander <spacewanderlzx@gmail.com>
2020-12-10 15:48:47 +08:00
Alex Zhang
7855d9eed2
feat: implement new plugin server-info (#2926)
close #2821
2020-12-09 10:07:57 +08:00
罗泽轩
1b8dca96ac
feat: increase the delay before resync (#2977)
It improves the behavior under #2899.
2020-12-07 20:20:31 +08:00
罗泽轩
2f3ab6a2bc
feat: disable node-status by default (#2968)
Fix #2952
2020-12-04 22:25:11 +08:00
dabue
e66dd9a314
feat: implement error-log-logger plug-in (#2592) 2020-11-30 14:43:16 +08:00
罗泽轩
f267291f3a
feat(prometheus): allow customizing Prometheus export uri (#2826)
* feat(prometheus): allow customizing Prometheus export uri

Close #2296.
2020-11-30 14:35:06 +08:00
Wen Ming
d2ea344fc1
Revert "refactor: separate admin and proxy port in default config (#2802)" (#2871)
This reverts commit b13f167445.

Co-authored-by: Vinci Xu <277040271@qq.com>
2020-11-28 19:05:14 +08:00
罗泽轩
c6c2e3cfb2
feat: support include other nginx config (#2803)
Close #2565
Close #1620
2020-11-25 19:23:31 +08:00
罗泽轩
1ad90f7206
chore: sort default plugin list for easier search (#2824) 2020-11-25 14:11:24 +08:00
HelloBug0
1d0c719a7b
feat: enable access log or not (#2769)
Fix #2713.
2020-11-25 13:10:08 +08:00
罗泽轩
ba114fc980
feat: add rewritten proxy url in access log (#2838)
This helps us to locate the problem.
2020-11-25 10:05:22 +08:00
Vinci Xu
b13f167445
refactor: separate admin and proxy port in default config (#2802)
change all admin 9080 to 9180
2020-11-24 16:51:47 +08:00
Shuyang Wu
36162e3607
fix: move conf/cert to t/certs and disable ssl by default (#2112) 2020-11-20 11:10:01 +08:00
guyang
5b396020d5
feat: support plugin for "aliyun" log service (#2177) 2020-11-19 00:04:01 +08:00
罗泽轩
6b52811557
feat: support ENV variable in configuration (#2743)
Close #2675.
2020-11-14 19:39:29 +08:00
罗泽轩
3ba6629daa
feat: disable example-plugin by default (#2673)
Close #2659.
2020-11-10 08:46:54 +08:00
Yousa
0ff2ab8242
fix: disable ssl_session_tickets by default (#2641)
fix #2638

In a word, 'ssl_session_tickets' would make Perfect Forward Secrecy useless.

reference:
ingress-nginx:kubernetes/ingress-nginx#6196
mozilla:mozilla/server-side-tls#135
2020-11-09 22:44:26 +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
Alex Zhang
188355494d
feat: hide APISIX version from Server header. (#2639)
Sometimes expose version is dangerous, which can be utilized by
malicious crackers when there are some security bugs in that version.
2020-11-07 00:04:28 +08:00
Alex Zhang
5191374545
feat: support TLS connection with etcd. (#2548)
Support the TLS connection when communicating with etcd cluster. We added a configuration item to custom the certificate verification. Whether to setup TLS connection or not depends on the endpoints' scheme, for instance, when endpoints are:

```
etcd:
  host:
    - "https://127.0.0.1:2379"
    - "https://127.0.0.1:3379"
```

APISIX will originate TLS connection automatically, and the Server Name Indication extention will be set by the endpoint host (`127.0.0.1` in above case). Note by default APISIX will verify the certificate, close the verification in configuration explicitly if you want to bypass it.

```
etcd:
  tls:
    verfiy: false
```
2020-11-03 13:53:39 +08:00
shoogoome
fff4d14a0d
feature: support multiple service discovery (#2556)
support multiple service discovery,then we can switch it in upstream
2020-10-30 20:34:10 +08:00
YuanSheng Wang
f2f5ab9766
feat: support json encoding escape for access logs (#2269)
fix #2266 .
2020-10-30 16:07:24 +08:00
罗泽轩
b6eb6f4842
change: rename APIX_WORKER_PROCESSES to APISIX_WORKER_PROCESSES (#2552)
Close #2517.
2020-10-30 08:14:04 +08:00
YuanSheng Wang
b23475fcba
feat: upgrade skywalking plugin to support skywalking 8.0 . (#2389) 2020-10-29 15:29:52 +08:00
Alex Zhang
d87ce33485
feature: support injecting lua_ssl_trusted_certificate. (#2519) 2020-10-28 06:49:20 +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
Vinci Xu
1a6fb8ec2c
feat(CLI): worker and cpu optimization (#2153) 2020-10-22 16:28:26 +08:00
罗泽轩
5b97223592
feat: implemented referer-restriction plugin (#2352) 2020-10-06 18:20:17 +08:00
YuanSheng Wang
6a1fe8a546
bugfix(CLI): if the user used default token and allow any IP to access Admin API, will show a WARNING message.(#2244)
Co-authored-by: Wen Ming <moonbingbing@gmail.com>
2020-09-22 16:09:35 +08:00
nic-chen
84ce7ba781
feat: add AK/SK(HMAC) auth plugin. (#2192) 2020-09-16 14:27:56 +08:00
罗泽轩
b6354ec33e
feat: allow to limit client body size to protect the service (#2214) 2020-09-15 21:58:30 +08:00
seven dickens
312a97c96f
feat: define env in nginx.conf template (#2174)
Co-authored-by: lixiangyang <lixiangyang@dragonest.com>
2020-09-14 18:12:29 +08:00
nic-chen
c54aec8f6c
feat: support custom access log format (#2122)
fix #2009
2020-08-26 16:51:44 +08:00
YuanSheng Wang
9070a4fa95
feature: implemented plugin log-rotate, rotate log by interval time. (#2097) 2020-08-26 16:40:36 +08:00
Alex Zhang
2886b2169b
feature: support multiple certificates(RSA and ECC) for single domain (#2089) 2020-08-24 09:23:06 +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
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
罗泽轩
f7b5f2b7ec
feat: allow customizing worker_processes (#2017)
* feat: allow customizing worker_processes

Close #2016
2020-08-07 17:25:26 +08:00
dabue
77dfecaab6
revert: enable proxy-cache and proxy-mirror plugins by default. (#1992)
fixed #1987
2020-08-05 00:20:04 +08:00
YuanSheng Wang
d32b5cf361
perf: no longer generate unnecessary nginx conf for better performance. (#1968)
* perf: no longer generate unnecessary nginx conf for better performance.
* benchmark: sync nginx.conf for fake-apisix.

> Is this PR backward compatible?

Disable two plugins by default(proxy-cache, proxy-mirror), if the user wants to enable them, need to modify the conf/config.yaml by manual.
2020-08-04 09:31:35 +08:00
Swayam Raina
0034c66586
bugfix: update comment to 30 seconds in config.yaml (#1929) 2020-07-29 23:09:02 +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
Yousa
d079b3dbcc
'worker_shutdown_timeout 240s' in nginx.conf is better. (#1883) 2020-07-24 16:05:29 +08:00
Nirojan Selvanathan
a6179996d4
feature: new plugin request-validator (#1709) 2020-07-21 21:38:48 +08:00
nic-chen
a5fc25c2a9
feat: Support admin API authentication with SSL certificates (#1747) 2020-07-21 11:41:11 +08:00
mtx2d
24d7007e94
change: removed useless plugin heartbeat (#1845)
Fix #1176
2020-07-16 17:31:39 +08:00
罗泽轩
bfa24d41ba
feature: allow to congfiure the worker_shutdown_timeout (#1828)
The default 3s may be too low.
2020-07-10 21:59:44 +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
Shenal Silva
ef89dceda6
feature: support etcd auth (#1769)
Fix #1713 , #1770
2020-06-26 17:25:58 +08:00
Wen Ming
d372fe2516
bugfix: fixed configures of nginx.conf for security reasons (#1759)
removed working_directory and removed TLSv1 TLSv1.1 from ssl_protocols
2020-06-23 16:03:19 +08:00
YuanSheng Wang
6a43a8c735
feature: implemented plugin uri-blocklist . (#1727)
first step: #1617
2020-06-22 14:45:55 +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
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
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
dabue
3228e16705
feature: support to enable HTTPS for admin API (#1648) 2020-06-07 21:02:50 +08:00
Wen Ming
398941b72f
feature: add skywalking plugin. (#1241) 2020-05-27 17:55:47 +08:00
qiujiayu
e7d19ec160
feature: support discovery center (#1440) 2020-05-14 23:20:44 +08:00
Nirojan Selvanathan
64fcb9fd72
plugin: add HTTP logger for APISIX (#1396) 2020-05-09 16:19:41 +08:00
Ayeshmantha Perera
33b437df4e
feature: implemented plugin sys logger. (#1414) 2020-05-06 10:49:18 +08:00
Vinci Xu
3a9e0fc675
feature: add batch request plugin. (#1388) 2020-04-29 21:40:45 +08:00
Wen Ming
f39dd6efa2
bugfix: only allow 127.0.0.1 access admin API and dashboard by default. (#1458) 2020-04-15 22:39:11 +08:00
dabue
5d50895790
change: update to use the local DNS resolver by default (#1387)
close #1378
2020-04-02 09:16:24 +08:00
SuperWalle
12677c322b
feature: Allow add custom shared dict (#1367) 2020-03-31 10:22:58 +08:00
Vinci Xu
c363ea46d9
feature: add cors plugin (#1327) 2020-03-29 10:30:59 +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