apache / apisix

The Cloud-Native API Gateway
https://apisix.apache.org/blog/
Apache License 2.0
14.48k stars 2.52k forks source link

bug: stream mode is disabled, can not add stream routes #11701

Open reagan-mcfadden opened 4 days ago

reagan-mcfadden commented 4 days ago

Current Behavior

Adding configuration does not enable stream proxy as expected per documentation.

Expected Behavior

stream proxy to be enabled. For :9180/apisix/admin/stream_routes to not return error_msg and return routes. For :9180/apisix/admin/stream_routes apply routes

Error Logs

/usr/local/openresty//luajit/bin/luajit ./apisix/cli/apisix.lua init /usr/local/openresty//luajit/bin/luajit ./apisix/cli/apisix.lua init_etcd 2024/10/31 14:15:54 [warn] 48#48: *2 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 50#50: *3 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 open /tmp/grpc-engine-debug.log: permission denied 2024/10/31 14:15:54 [warn] 59#59: *13 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 49#49: *4 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 97#97: *10 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 64#64: *7 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 51#51: *1 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 119#119: *14 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 140#140: *18 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 62#62: *19 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 92#92: *12 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 103#103: *11 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 53#53: *5 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 71#71: *8 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 115#115: *15 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 54#54: *20 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 52#52: *6 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 86#86: *9 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 131#131: *16 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 132#132: *21 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 127#127: *17 [lua] plugin.lua:205: load(): new plugins: {"loggly":true,"ua-restriction":true,"datadog":true,"jwe-decrypt":true,"response-rewrite":true,"chaitin-waf":true,"mocking":true,"limit-conn":true,"consumer-restriction":true,"traffic-split":true,"basic-auth":true,"workflow":true,"proxy-control":true,"openwhisk":true,"tcp-logger":true,"serverless-pre-function":true,"proxy-cache":true,"elasticsearch-logger":true,"google-cloud-logging":true,"ext-plugin-pre-req":true,"gzip":true,"zipkin":true,"ai":true,"limit-req":true,"cas-auth":true,"udp-logger":true,"splunk-hec-logging":true,"echo":true,"openid-connect":true,"ip-restriction":true,"http-logger":true,"uri-blocker":true,"multi-auth":true,"request-id":true,"jwt-auth":true,"redirect":true,"ext-plugin-post-resp":true,"server-info":true,"grpc-web":true,"ext-plugin-post-req":true,"limit-count":true,"proxy-mirror":true,"forward-auth":true,"key-auth":true,"aws-lambda":true,"example-plugin":true,"referer-restriction":true,"openfunction":true,"tencent-cloud-cls":true,"fault-injection":true,"skywalking-logger":true,"clickhouse-logger":true,"prometheus":true,"rocketmq-logger":true,"ldap-auth":true,"proxy-rewrite":true,"kafka-logger":true,"sls-logger":true,"real-ip":true,"authz-casdoor":true,"inspect":true,"azure-functions":true,"http-dubbo":true,"client-control":true,"request-validation":true,"hmac-auth":true,"cors":true,"syslog":true,"loki-logger":true,"opa":true,"authz-casbin":true,"body-transformer":true,"serverless-post-function":true,"file-logger":true,"degraphql":true,"kafka-proxy":true,"grpc-transcode":true,"authz-keycloak":true,"csrf":true,"public-api":true,"api-breaker":true,"wolf-rbac":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 49#49: *4 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 64#64: *7 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 51#51: *1 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 48#48: *2 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 140#140: *18 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 92#92: *12 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 103#103: *11 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 115#115: *15 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 62#62: *19 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 52#52: *6 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 59#59: *13 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 97#97: *10 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 71#71: *8 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 54#54: *20 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 131#131: *16 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 53#53: *5 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 132#132: *21 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 50#50: *3 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 119#119: *14 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 86#86: *9 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:15:54 [warn] 127#127: *17 [lua] plugin.lua:255: load_stream(): new plugins: {"limit-conn":true,"syslog":true,"ip-restriction":true,"mqtt-proxy":true}, context: init_worker_by_lua* 2024/10/31 14:16:03 [warn] 48#48: *1048 [lua] init.lua:180: handler(): stream mode is disabled, can not add any stream routes, client: 172.19.0.1, server: , request: "POST /apisix/admin/stream_routes HTTP/1.1", host: "127.0.0.1:9180" 172.19.0.1 - - [31/Oct/2024:14:16:03 +0000] 127.0.0.1:9180 "POST /apisix/admin/stream_routes HTTP/1.1" 400 78 0.000 "-" "bruno-runtime/1.33.0" - - - "http://127.0.0.1:9180" 2024/10/31 14:16:12 [warn] 51#51: *1587 [lua] init.lua:180: handler(): stream mode is disabled, can not add any stream routes, client: 172.19.0.1, server: , request: "GET /apisix/admin/stream_routes HTTP/1.1", host: "127.0.0.1:9180" 172.19.0.1 - - [31/Oct/2024:14:16:12 +0000] 127.0.0.1:9180 "GET /apisix/admin/stream_routes HTTP/1.1" 400 78 0.000 "-" "bruno-runtime/1.33.0" - - - "http://127.0.0.1:9180"

Steps to Reproduce

Files

Docker file

# Docker file for apisix enchanced with api/adc
FROM apache/apisix:3.11.0-debian

# Install curl
USER root
RUN apt-get update
RUN apt-get install -y curl

USER root
# Install adc https://github.com/api7/adc/
RUN curl -sL "https://run.api7.ai/adc/install" | sh -x && \
    which adc && \
    ls -l $(which adc) && \
    echo $PATH

Docker compose.yml

services:
  apisix-dashboard:
    image: apache/apisix-dashboard
    restart: always
    volumes:
      - ./dashboard_conf/conf.yaml:/usr/local/apisix-dashboard/conf/conf.yaml
    ports:
      - "9000:9000"
    depends_on:
      - etcd
    networks:
      apisix:

  apisix:
    build:
      context: ./
      dockerfile: Dockerfile
    restart: always
    volumes:
      - ./apisix_conf/config.yaml:/usr/local/apisix/conf/config.yaml:ro
      - ./apisix_conf/apisix.yaml:/usr/local/apisix/conf/apisix.yaml:ro
      - ./.env:/usr/local/apisix/.env
      - /etc/letsencrypt/live/:/etc/letsencrypt/live/
      - /etc/letsencrypt/archive/:/etc/letsencrypt/archive/:ro
    depends_on:
      - etcd
    ##network_mode: host
    ports:
      - "9180:9180/tcp"
      - "9080:9080/tcp"
      - "9091:9091/tcp"
      - "9443:9443/tcp"
      - "9092:9092/tcp"
      - "9100:9100"
    networks:
      apisix:

  etcd:
    image: bitnami/etcd:3.5.11
    restart: always
    volumes:
      - etcd_data:/bitnami/etcd
    environment:
      ETCD_ENABLE_V2: "true"
      ALLOW_NONE_AUTHENTICATION: "yes"
      ETCD_ADVERTISE_CLIENT_URLS: "http://etcd:2379"
      ETCD_LISTEN_CLIENT_URLS: "http://0.0.0.0:2379"
    ports:
      - "2379:2379/tcp"
    networks:
      apisix:

  prometheus:
    image: prom/prometheus:v2.25.0
    restart: always
    volumes:
      - ./prometheus_conf/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    networks:
      apisix:

  grafana:
    image: grafana/grafana:7.3.7
    restart: always
    ports:
      - "3000:3000"
    volumes:
      - "./grafana_conf/provisioning:/etc/grafana/provisioning"
      - "./grafana_conf/dashboards:/var/lib/grafana/dashboards"
      - "./grafana_conf/config/grafana.ini:/etc/grafana/grafana.ini"
    networks:
      apisix:

networks:
  apisix:
    driver: bridge

volumes:
  etcd_data:
    driver: local

apisix_conf/config.yaml

apisix:
  node_listen: 9080              # APISIX listening port
  enable_ipv6: false
  enable_control: true
  control:
    ip: "0.0.0.0"
    port: 9092
  stream_proxy:
    only: false
    tcp:
        - 9100

deployment:
  admin:
    allow_admin:               # https://nginx.org/en/docs/http/ngx_http_access_module.html#allow
      - 0.0.0.0/0              # We need to restrict ip access rules for security. 0.0.0.0/0 is for test.

    admin_key:
      - name: "admin"
        key: edd1c9f034335f136f87ad84b625c8f1
        role: admin                 # admin: manage all configuration data

      - name: "viewer"
        key: 4054f7cf07e344346cd3f287985e76a2
        role: viewer

  etcd:
    host:                           # it's possible to define multiple etcd hosts addresses of the same etcd cluster.
      - "http://etcd:2379"          # multiple etcd address
    prefix: "/apisix"               # apisix configurations prefix
    timeout: 30                     # 30 seconds

plugin_attr:
  redirect:
    https_port: 443
  prometheus:
    export_addr:
      ip: "0.0.0.0"
      port: 9091

nginx_config:
  http_configuration_snippet: |
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;

apisix_conf/apisix/yaml

services:
  - name: httpbin Service
    routes:
      - uris:
          - /ip
        name: getting-started-ip
    upstream:
      type: roundrobin
      nodes:
        - host: httpbin.org
          port: 80
          weight: 1

.env

ADC_SERVER=http://0.0.0.0:9180
ADC_TOKEN=edd1c9f034335f136f87ad84b625c8f1
DOMAIN=XXXXXX

Steps:

  1. docker compose up -d
  2. docker compose exec apisix adc ping # should get back Connected to backend successfully!
  3. docker compose exec apisix adc sync -f conf/apisix.yaml
  4. Request stream related endpoints.
    curl --request GET \
    --url http://127.0.0.1:9180/apisix/admin/stream_routes \
    --header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1'

OR

curl --request POST \
  --url http://127.0.0.1:9180/apisix/admin/stream_routes \
  --header 'X-API-KEY: edd1c9f034335f136f87ad84b625c8f1' \
  --header 'content-type: application/json' \
  --data '{
  "remote_addr": "0.0.0.0/0",
  "plugins": {
    "tcp_proxy": {
      "upstream": {
        "nodes": {
          "external-mysql-host:3306": 1
        },
        "type": "roundrobin"
      }
    }
  }
}'

Gets response:

 {
  "error_msg": "stream mode is disabled, can not add stream routes"
}

Environment

Run via docker.

kayx23 commented 3 days ago

It is expected that stream mode (L4 proxy) is not enabled by default.

To enable it along with the HTTP proxy, update your config.yaml file with something like this

  proxy_mode: http&stream
  stream_proxy:
    tcp:
      - 9100     # your L4 listening port

and reload APISIX.