Commit Graph

161 Commits

Author SHA1 Message Date
Yousa
f61b7036b0
[log] Optimize the buffer size and flush time (#1570)
* yousali:<log>Optimize the buffer size and flush time

1. buffer=4096 is better for Writes of more than PIPE_BUF bytes may be nonatomic
2. flush=1. Since the log buffer is lowered, the flush time should also be lowered.

* yousali:<fix>

hi, I also made a test.

```
4096  Requests/sec:  16079.75
8192 Requests/sec:  16389.52
16384 Requests/sec:  16395.30
32768 Requests/sec:  16459.71
```
I think a log buffer size of 8192 or 16384 would be appropriate.

On the other hand, the refresh time of 3 seconds is still relatively long, and 1 or 3 seconds doesn't particularly affect QPS.

So I also agree with `buffer=16384 flush=1; `
2020-06-07 23:57:54 +08:00
dabue
3228e16705
feature: support to enable HTTPS for admin API (#1648) 2020-06-07 21:02:50 +08:00
仇柯人
52fa154217
CLI: compatibility of benchmark script and apisix reload command on OSX (#1650) 2020-06-06 09:35:12 +08:00
Wen Ming
398941b72f
feature: add skywalking plugin. (#1241) 2020-05-27 17:55:47 +08:00
xxm404
5aeac03821
bugfix(CLI): fixed garbled Chinese response in browser. (#1598)
fix #1559
2020-05-25 23:14:36 +08:00
罗泽轩
9a6fc51d29
bugfix: raise error when none of the configured etcd can be connected (#1608)
Close #1561.
2020-05-22 20:47:47 +08:00
dengliming
3906545ac5
bugfix: incorrect variable name hostCount (#1585) 2020-05-14 23:29:11 +08:00
YuanSheng Wang
c351b38086
bugfix(lrucache): when creating cached objects, use resty-lock to avoid repeated creation. (#1486)
* bugfix(lrucache): one common use case for this library is avoid the so-called "dog-pile effect",
    that is, to limit concurrent backend queries for the same key when a cache miss happens.
* bugfix: catch the error messag by pcall, it may fail when generate new validator.
2020-04-22 17:47:16 +08:00
YuanSheng Wang
04539ae972
bugfix(CLI): added $prefix/deps/share/lua/5.1/?/init.lua to search path. (#1443) 2020-04-13 09:54:07 +08:00
Wen Ming
c76e7e3623
feature: remove lua dir. (#1351) 2020-03-31 23:23:29 +08:00
qiujiayu
11a9646866
change: check item count of DNS resolver (#1361) 2020-03-31 13:37:50 +08:00
SuperWalle
12677c322b
feature: Allow add custom shared dict (#1367) 2020-03-31 10:22:58 +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
罗泽轩
dcd2ebc5e4
chore: improve plugins/proxy-cache (#1305)
1. unit all the default cache time to 10s.
2. remove repeated `if proxy_cache` check.
3. improve `generate_complex_value`'s performance.
4. better indent.
2020-03-20 12:26:43 +08:00
agile6v
fc948f9578
feautre: support for proxy mirror plugin. (#1288) 2020-03-19 08:10:03 +08:00
Ayeshmantha Perera
cee03225f8
feature: support multiple etcd address. (#1283) 2020-03-19 08:01:41 +08:00
agile6v
864aa16e91
feature: support for proxy caching plugin based on disk. (#1153) 2020-03-15 22:26:08 +08:00
Nirojan Selvanathan
2a2762a9c2
CLI: Adding warning message when running APISIX in root path. (#1236) 2020-03-13 15:57:12 +08:00
Ayeshmantha Perera
bd0ebdf742
CLI: bugfix profile path not found exception. (#1210) 2020-03-07 14:29:14 +08:00
Wen Ming
a610e8917c
Revert "feature: auto import nameservers into APISIX from system resolver. (#1167)" (#1205)
This reverts commit e1ac426443.
This PR break CI and no test cases cover, so I have to revert it.
2020-03-06 10:30:32 +08:00
dabue
6d2ecee48f
change: disables logging of errors about not found files into error_log for admin api.
Fix #1168
2020-03-04 09:37:26 +08:00
Ayeshmantha Perera
7340a07411
CLI: fixed bad code style. (#1182) 2020-03-03 17:34:20 +08:00
qiujiayu
e1ac426443
feature: auto import nameservers into APISIX from system resolver. (#1167)
Fix #1164
2020-03-02 16:04:15 +08:00
qiujiayu
b210a7b866
feature: support to load different config file by ENV APISIX_PROFILE profile (#1147) 2020-02-28 08:46:42 +08:00
YuanSheng Wang
de16a7e04f
bugfix: updated the dns parse result by TTL. (#1077) 2020-02-19 20:30:34 +08:00
YuanSheng Wang
e33f75da4e
bugfix: use ss.listen_port to generate https listening port. (#1133) 2020-02-18 12:40:15 +08:00
agile6v
01a5b807b5
feature: Add support for PROXY Protocol. (#1113) 2020-02-12 10:53:20 +08:00
YuanSheng Wang
4a681af4cb
CLI: added missing Lua path. (#1114) 2020-02-09 20:57:13 +08:00
Yousa
60b2493f5b CLI: bin/apisix to support the SO_REUSEPORT (#1085)
Fix #342
2020-02-09 17:19:45 +08:00
罗泽轩
abcd197312
feature: increase the default size of the core file (#1105)
Close #1101.
2020-02-04 11:02:07 +08:00
罗泽轩
fda20d99d5
feature: make the number of file is as configurable as the connections. (#1098) 2020-02-02 09:13:34 +08:00
Lien
86c4ef64d1 CLI: fixed path error when install with luarocks (#1068) 2020-01-16 15:22:30 +08:00
YuanSheng Wang
68d36e126d bugfix: added /usr/share/lua/5.1/apisix/lua/?.lua; to lua path (#1060) 2020-01-15 14:19:44 +08:00
tiantian wang
65446e8f24 change: add tips in the generated nginx.conf (#1040) 2020-01-12 09:10:51 +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
c21b8d2fde CLI: only used original Lua package path. (#1032) 2020-01-09 14:24:37 +08:00
YuanSheng Wang
ab86830f0f bugfix: use current folder as working space for developer. (#1030) 2020-01-07 20:18:25 +08:00
YuanSheng Wang
d4442ff6a7
change: disable search engine inclusion. (#1012) 2020-01-03 10:08:00 +08:00
ChelinTsien
101fe73525 bugfix: fix CIDR ip html escaped for real_ip_from in apisix (#1007)
when the value of set_real_ip_from is CIDR, the {{real_ip}} will html escaped.
2019-12-30 17:51:55 +08:00
ChelinTsien
206f8b8037 CLI: update apisix, maybe custom directory place in /usr (#1002) 2019-12-27 11:18:26 +08:00
Yousa
eff1ca78e9 feature: added support CORS for /apisix/admin. (#982) 2019-12-24 14:44:42 +08:00
Nirojan Selvanathan
9e0030e2e8 feature: added dev mode flag in config yaml to set the nginx worker_process to one (#926) 2019-12-05 00:09:20 +08:00
chnliyong
7443133031
Resolve #882 and simplify conf (#894)
* Resolve #882 and simplify conf
2019-11-24 23:05:52 +08:00
YuanSheng Wang
2c57621f23 bugfix: avoid a useless redirect when access /apisix/dashboard. (#886) 2019-11-20 19:01:59 +08:00
Lien
7b29586f7a fix: show more firendly error log when configuration field missed (#824) 2019-11-09 21:07:24 +08:00
周晶
c8934b2641 doc: update FAQ, add one about slow luarocks (#813) 2019-11-09 09:21:46 +08:00
YuanSheng Wang
4ee11806de
travis: supported to run APISIX with Tengine. (#683) 2019-11-02 09:05:38 +08:00
YuanSheng Wang
a1c56ceb53 bugfix: skipped to init etcd if use local file as config center. (#737) 2019-11-02 07:59:59 +08:00
WenMing
12a2b01b71
license: add ASF header. (#743) 2019-10-31 09:27:28 +08:00
Geikiy
b49b03d863 CLI: added restart apisix server command (#765) 2019-10-30 20:36:56 +08:00
YuanSheng Wang
7309a0185b
bugfix: create /proto folder in etcd, will store protocol buffer description file. (#714) 2019-10-19 08:09:56 +08:00
WenMing
9ebd052403 bugfix: removed epoll in nginx.conf. (#711) 2019-10-18 21:55:01 +08:00
coolsoul
8075520fc8 CLI: added more nginx configures in the config.yaml. 2019-10-15 19:59:40 +08:00
WenMing
bf2a769071 bugfix: set ssl_ciphers to old mode as default. (#667) 2019-10-11 11:30:47 +08:00
YuanSheng Wang
0e10fa6c68
feature: enabled HTTP2 and supported to set ssl_protocols. (#663)
* feature: enabled HTTP2 and supported to set `ssl_protocols`.
* bugfix: used default certificate if failed to load certificate by SNI.

Fix #595.
2019-10-10 22:28:58 +08:00
WenMing
af5c488e71
bugfix: skip check cjson for luajit environment for apisix CLI. (#652) 2019-10-09 17:49:11 +08:00
YuanSheng Wang
0d36723e6f
change(dashboard): use /apisix/dashboard to login dashboard. (#611)
change(CLI): exported new argument of `error_log.level`.
change(CLI): enabled dashboard when use an independent admin port.
2019-09-27 10:16:29 +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
509f055a5a
change: installed tinyyaml by luarocks. (#527)
* change: installed tinyyaml by luarocks.
2019-09-17 10:43:18 +08:00
YuanSheng Wang
4aaaf3ee5a
feature: support dynamic stream(TCP/UDP) proxy in apisix. (#501)
* feature: support stream in apisix.
* doc: added new feature in README.
* CLI and added more doc.
2019-09-12 13:27:18 +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
WenMing
f7c04747d5
feature: implemented openid-connect plugin. (#447) 2019-08-30 19:49:45 +08:00
Yuansheng
2400c048b7 change: if we don't set any IP list, then any IP access is allowed by default for admin API. 2019-08-29 16:16:24 +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
WenMing
07b0a9deab feature: added version option for CLI. 2019-08-22 14:57:46 +08:00
Yuansheng
37a06f3299 bugfix(CLI): used longer timeout when connect to etcd. 2019-08-22 11:29:39 +08:00
nic-chen
e46e8f2130 * feature: support grpc-proxy REST <-> gRPC case. (#410) 2019-08-21 23:10:34 +08:00
chnliyong
14c2b55e22 bugfix: fixed location of dashboard in nginx.conf.(#386) 2019-08-09 15:09:07 +08:00
vkill
4badcb0b18 bugfix: fixed wrong allow in /apisix/dashboard (#344) 2019-07-31 21:32:41 +08:00
WenMing
6e457bfc07
bugfix: fixed hard code ip addr of dashboard. (#338)
* bugfix: fixed hard code ip addr of dashboard.

* fixed location of dashboard.
2019-07-31 14:51:20 +08:00
WenMing
f8deb1eb3b
feature: support multiple ips of allow. (#340) 2019-07-31 14:51:00 +08:00
Yuansheng
dd20bc79ac change(CLI): removed duplicated include option. 2019-07-31 12:32:39 +08:00
WenMing
084bc64988
feature: added dashboard as submodule. (#328) 2019-07-30 14:00:43 +08:00
WenMing
bbe481987e
bugfix: fixed wrong of allow and deny in nginx.conf. (#330)
only has the allow is useless, which is must works with deny. it's security problem.
2019-07-29 18:07:10 +08:00
vkill
198628df75 bugfix(CLI): fixed node_ssl_listen conf not working #321 (#324) 2019-07-28 12:48:46 +08:00
YuanSheng Wang
bce0c673c5
CLI: added shdict upstream-healthcheck. (#279) 2019-07-21 09:08:06 +08:00
YuanSheng Wang
95ed5abee8
change(CLI): simple code style and check the openresty version at init (#278)
phase.
2019-07-21 08:49:29 +08:00
coolsoul
170060619a change: check the openresty version in Lua land. (#275)
* check the openresty version in Lua land.

Fix #245.
2019-07-21 08:05:54 +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 Wang
35febe0609
change(CLI): code style. (#258)
use 4 space instead of `tab`.
simple code style.
short length of source code.
2019-07-17 23:36:29 +08:00
vkill
89f18e4349 bugfix(CLI): added timeout to init_etcd (#257) 2019-07-17 21:57:41 +08:00
WenMing
3e1f8e6121
feature: added configure for anti-ReDoS. (#250)
This configuration can avoid catastrophic backtracking of regular expressions, but to solve this problem thoroughly, we need to replace the regular engine, such as RE2.
2019-07-15 13:14:07 +08:00
coolsoul
faeb07cadb feature: added check for openresty version and fixed style of documents. (#244) 2019-07-14 09:32:22 +08:00
WenMing
9fa04a923c
feature: supported real_ip configure in nginx.conf and added functions to get ip and remote ip. (#236)
* feature: supported real_ip configure in nginx.conf and added functions to get ip and remote ip.

* fixed code style.
2019-07-12 11:25:17 +08:00
YuanSheng Wang
cd4eb7deed CLI: changed code style. (#225) 2019-07-09 22:28:02 +08:00
希望之石
f92f8a7829 bugfix: issue #223 (#224)
need to add `-c xxx` option for `stop` and `reload` action.

apisix 脚本stop、reload 也需要增加 -c 参数指定 nginx.conf 路径
2019-07-09 17:59:30 +08:00
nic-chen
5fccb78fa1 bugfix: set configuration file to avoid using a wrong one (#220) 2019-07-08 12:24:18 +08:00
Yuansheng
1e8459c21c bugfix: compiled module 'rapidjson' with the luajit of openresty.
Fix #206.
2019-07-07 08:31:02 +08:00
YuanSheng Wang
565cb1653c
feature: added init action in makefile to initialize the runtime (#205)
* feature: added `init` action in makefile to initialize the runtime
  environment.
* doc: added more doc about `make` command.
* CLI: find the Lua from default PATH.
* bugfix: used short connection when to fetch node status.
2019-07-05 19:01:20 +08:00
YuanSheng Wang
764280f5ff
CLI: added default value for node ssl listen and allowed to run without http_stub_status_module. (#203)
* CLI: added default value for `node ssl listen` and allowed to run
  without `http_stub_status_module`.

* travis: fixed the wrong argument when calling CLI.
removed the `sudo` when run the CLI tool.
added logs folder to `apisix` project.
2019-07-05 11:16:24 +08:00
vkill
1e302f0545 Support configure node_ssl_listen 2019-07-05 08:59:14 +08:00
YuanSheng Wang
2a9ab09401
feature: supported to use a separate port for admin dashboard. (#194)
* feature: supported to use a separate port for admin dashboard, and disabled admin port by default.
* travis: run a mini test case for CLI.
2019-07-03 21:03:17 +08:00
YuanSheng Wang
cf76ed5e4c
bumped version to v0.5 . (#183)
* bumped version to v0.5 .
* bugfix: added dependencies lua path.
* travis: used the CLI of self.
2019-07-02 14:14:57 +08:00
YuanSheng Wang
a6b7892272
bugfix: added http_ prefix in CLI. (#182) 2019-07-02 13:01:54 +08:00
Yuansheng
c94b40e6cb bugfix: showed an error message if user installed cjson by luarocks.
Fix #164.
2019-06-27 22:00:21 +08: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
b44a6ab77d
CLI: fixed the wrong path and cpath in CLI. (#151)
* CLI: fixed the wrong path and cpath in CLI, supported to start/stop
  apisix server when the dependencies library was collected to apisix
  home folder.
2019-06-23 16:45:15 +08:00
YuanSheng Wang
72e0fe2393
feature: supported to collect nginx status and pushed it to etcd. (#149)
* feature: supported to collect nginx status and pushed it to etcd.
* the return value of the exported api is the same as the other methods in the plugin.
2019-06-22 08:24:02 +08:00
Yuansheng
f15230b3c8 CLI: set the core dump file directory permissions to 666. 2019-06-21 16:28:24 +08:00
Yuansheng
43327b3697 bugfix: maybe missing with-http_stub_status_module module in openresty
Fix #144.

change: checked the current directory if it's a apisix home folder,
  if not then use `/usr/local/openresty`.

change: changed the core file folder to `/tmp/apisix_cores`.
2019-06-21 16:21:02 +08:00