+++ title = “代理” url = “/middleware/proxy” [menu.side] name = “代理” parent = “middleware” weight = 13

+++

Proxy (代理) 中间件

Proxy 提供 HTTP / WebSocket 反向代理中间件。它使用已配置的负载平衡技术将请求转发到上游服务器。

用法

  1. url1, err := url.Parse("http://localhost:8081")
  2. if err != nil {
  3. e.Logger.Fatal(err)
  4. }
  5. url2, err := url.Parse("http://localhost:8082")
  6. if err != nil {
  7. e.Logger.Fatal(err)
  8. }
  9. e.Use(middleware.Proxy(&middleware.RoundRobinBalancer{
  10. Targets: []*middleware.ProxyTarget{
  11. {
  12. URL: url1,
  13. },
  14. {
  15. URL: url2,
  16. },
  17. },
  18. }))

自定义配置

用法

  1. e := echo.New()
  2. e.Use(middleware.ProxyWithConfig(middleware.ProxyConfig{}))

配置

  1. // ProxyConfig defines the config for Proxy middleware.
  2. ProxyConfig struct {
  3. // Skipper defines a function to skip middleware.
  4. Skipper Skipper
  5. // Balancer defines a load balancing technique.
  6. // Required.
  7. // Possible values:
  8. // - RandomBalancer
  9. // - RoundRobinBalancer
  10. Balancer ProxyBalancer
  11. }

默认配置

名称
Skipper DefaultSkipper

示例