Apache APISIX默认支持第7层代理,但需要手动配置第4层代理。支持的第4层协议包括TCP、UDP和SSL,支持的第7层协议包括HTTP、HTTPS和WebSocket。
配置第4层代理需要在APISIX的配置文件中添加以下代码:
upstream:
backend:
- 127.0.0.1:8888
- 127.0.0.1:9999
stream_route:
tcp_test_route:
rules:
- host == "tcp.example.com"
backend: backend
type: tcp
其中,tcp_test_route为自定义的路由名称,rules为路由规则,backend为真实的上游服务地址,type为代理类型,这里设置为tcp。
配置第7层代理需要在APISIX的配置文件中添加以下代码:
upstream:
backend:
- 127.0.0.1:8080
route:
http_test_route:
uris:
- /test
backend: backend
type: http
其中,http_test_route为自定义的路由名称,uris为路由规则,backend为真实的上游服务地址,type为代理类型,这里设置为http。
需要注意的是,配置完成后需要重新加载配置文件才能生效,可以使用以下命令实现:
$ curl http://127.0.0.1:9080/apisix/admin/configs/reload -X POST
这样就可以实现APISIX对第4层和第7层协议的支持。