到这里,一般的反代配置就算是可以了,那么对于go-fastdfs而言是否可以了呢?对于go-fastdfs一般上传是可以了,但是呢,对于使用了tus做断点续传还是不够,为什么呢?因为tus服务端会返回301重定向,并且需要携带一定的请求头过去,所以还需要特别的设置一下。
支持Tus的反代配置
如果需要做tus的反代,要支持301重定向Location的重写还要支持一定的请求头转发,那该如何配置呢?请参考下面的配置
l
上面要注意一下就是proxy_redirect和client_max_body_size这两个配置,第一个配置是因为tus服务端返回的重定向Location是不会携带自定义前缀的,因此需要自己加入自定义的前缀,我这里是/dfs,如果是别的,更换下就好。第二个就是client_max_body_size了,这个是设置为0表示不管上传多大的文件都不会报request too large的问题,直接转发过去,如果需要设置,那么请设置大于等于chunkSize的数字。什么是chunkSize?就是tus客户端分块上传的时候,每一块的大小,具体请参考官方文档。
负载均衡配置
在配置了集群服务器的情况下,上传或者下载如何进行负载均衡呢?使用nginx做了反代,配合upstream模块就可以实现了,具体参考如下配置
upstream dfs_stream {
server host1:port;
server host2:port;
ip_hash;
}