(原) Caddy如何将指定类型文件跳转到指定服务器

原创文章,请后转载,并注明出处。

需求是:在Caddy服务器下,指定某些类型的文件(例如图片、视频)请求,转发到指定服务器。指定服务器还可以通过Caddy实现均衡负载。

这样的目的是将主服务和高带宽服务分开。

寻找解决中,希望已有解决方法,不用自己动代码。


通过搜索可知:

可以通过指定路径进行负载均衡来间接实现:

reverse_proxy /api/* node1:80 node2:80 node3:80 {
	lb_policy header X-My-Header
}

以上代码只均衡/api地址下的请求。

同时,可能存在一个需求:路径需要修改

// 在代理前去除一个路径前缀:
handle_path /prefix/* {
	reverse_proxy localhost:9000
}

// 在代理之前替换一个路径前缀:
handle_path /old-prefix/* {
	rewrite * /new-prefix{path}
	reverse_proxy localhost:9000
}

相关文章