V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
roiding
V2EX  ›  程序员

局域网缓存的方案

  •  
  •   roiding · 2021-08-17 10:10:15 +08:00 · 4541 次点击
    这是一个创建于 1228 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在阿里 oss 上放了一些视频和 apk 安装包,然后软件部分写的也是阿里云的 oss 下载地址,想知道有什么方案,我可以在局域网环境下。通过类似 nginx 的方式,拦截这些 oss 请求到一个地方,并且反代缓存下载的资源以供请求使用。一直请求 oss 下载东西,感觉流量费 hold 不住啊。

    22 条回复    2021-08-17 14:40:19 +08:00
    guxingke
        1
    guxingke  
       2021-08-17 10:15:17 +08:00
    就是 mirror 呗, 可以考虑 nexus
    roiding
        2
    roiding  
    OP
       2021-08-17 10:21:06 +08:00
    @guxingke nexus 不是搞 docker 和 maven 私库的嘛。怎么做 oss 的 mirror,求指教啊
    guxingke
        3
    guxingke  
       2021-08-17 10:29:49 +08:00
    @roiding  印象中 Raw Repositories 可以处理, 没实操过 。
    gtchan13579
        4
    gtchan13579  
       2021-08-17 10:42:41 +08:00
    我有个设想:局域网的话是不是可以通过 dns 解析来设置
    比如说你请求 www.aliyun.com/2021.mp4
    通过 dns 解析变成请求 http://192.168.100.101/2021.mp4
    然后 192.168.100.101 这台主机收到请求,先查找 web 本地目录有没有缓存,没有就将请求头替换,去请求 www.aliyun.com/2021.mp4 纯粹设想,轻喷
    hefish
        5
    hefish  
       2021-08-17 10:50:20 +08:00
    可以套个 alicdn 嘛,这样流量费就便宜了。
    eastphoton
        6
    eastphoton  
       2021-08-17 10:51:21 +08:00
    @gtchan13579 感觉好像可以,但是这样靠域名连接的非 HTTP 服务就炸了吧。。。
    Juszoe
        7
    Juszoe  
       2021-08-17 10:52:51 +08:00
    lancache 了解一下,但貌似不支持 https
    kwanzaa
        8
    kwanzaa  
       2021-08-17 10:53:12 +08:00
    那直接修改本地部署软件的下载来源?
    huangmingyou
        9
    huangmingyou  
       2021-08-17 10:55:06 +08:00
    squid 或者 nginx, 配合 iptables 做透明代理
    Xusually
        10
    Xusually  
       2021-08-17 11:00:23 +08:00 via iPhone
    oss 域名本地解析或者 hosts 指定到内网 nginx,代理取 oss 资源后设置较长时间的 cache 即可
    Puteulanus
        11
    Puteulanus  
       2021-08-17 11:03:37 +08:00   ❤️ 1
    squid transparent proxy 可以,但是只能 http,https 软件那边不想改 url 的话就得导入中间人证书了
    salmon5
        12
    salmon5  
       2021-08-17 11:25:23 +08:00
    可以,局域网里面部署缓存服务器,或者研发一套类似迅雷的软件
    x86
        13
    x86  
       2021-08-17 11:27:15 +08:00
    爱快软路由?里面有缓存设置,然后分流那里再设置下
    NouveauNom
        14
    NouveauNom  
       2021-08-17 11:29:20 +08:00
    套 CDN

    “因为我发现七牛云实际上是阿里云 OSS+阿里云 CDN (阿里云 OSS 禁止我创建 bucket hu60,说它已存在。阿里云 CDN 禁止我绑定 file.hu60.cn ,说它已绑定),并且定价比直接使用阿里云 OSS+阿里云 CDN 贵不少(有中间商赚差价)。

    自从 file.winegame.net 从七牛云切换到阿里云,成本下降了很多。

    还有,你在虎绿林不会看到文件繁忙,因为我们不直接走 OSS 公网流出服务器,我们是走 CDN 的,CDN 每个节点每个文件只需要回源一次,所以不会繁忙。而且 CDN 流量费比 OSS 直接公网流出价格低很多,这才是正确的使用方式(所以七牛云也是这么用的)。”

    详见 https://hu60.cn/q.php/bbs.topic.101055.2.html
    roiding
        15
    roiding  
    OP
       2021-08-17 11:30:42 +08:00
    @gtchan13579 我知道你说的这个,我就是这么准备操作的。这不是不想自己写软件嘛
    roiding
        16
    roiding  
    OP
       2021-08-17 11:34:23 +08:00
    @NouveauNom 我就是不想套 CDN 咯 CDN 也是费用啊 现在问题就是局域网环境我是有资源的 我不想再去外网请求资源 这个带宽费用没必要
    roiding
        17
    roiding  
    OP
       2021-08-17 11:35:43 +08:00
    看看大家的回复,算了,我还是老老实实配 nginx 吧。 我还指望着有个比 nginx 更加方便的软件搞定。
    @Juszoe 你说的这个 lancache 我查了查资料,不是用于游戏缓存嘛
    Juszoe
        18
    Juszoe  
       2021-08-17 11:41:51 +08:00
    @roiding #17 lancache 支持 http,游戏缓存只是其中一个应用而已,steam 的游戏下载走的是 http 协议
    crocky
        19
    crocky  
       2021-08-17 12:00:34 +08:00
    爱快软路由里面好像有这个功能
    wangritian
        20
    wangritian  
       2021-08-17 13:37:13 +08:00
    网件 /华硕路由器,安装 XX 上网插件,开启 DNS 劫持,然后自定义 dnsmasq 设置
    roiding
        21
    roiding  
    OP
       2021-08-17 13:40:29 +08:00
    @crocky @wangritian 这种路由器家里才安装了 公司没装啊 公司的路由器我也不可能去找个装第三方吧
    fonlan
        22
    fonlan  
       2021-08-17 14:40:19 +08:00
    爱快软路由有视频缓存,但爱快不能 xx 上网。
    OpenWrt 上只知道 squid 有类似功能,但貌似配置有点复杂。
    一直想找类似的可以运行在 OpenWrt 上的实现局域网在线视频、js 库、webfont 之类静态资源缓存的软件,可一直没找到
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4405 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:04 · PVG 18:04 · LAX 02:04 · JFK 05:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.