
简单来讲就是希望 url 不变,但是在内网请求的时候自动转发到内网的缓存服务器上。关键是透明代理缓存,也就是不改变 npm 仓库的地址。
想过方案,第一个就是 dns 直接解析到缓存服务器上,但缓存服务器就不能用域名代理访问 npm,只能自己解析之后再请求。而且 dns 解析不能解析到某个特定端口,折腾起来也很费劲。
第二个就是类似于科学上网的办法,但是更折腾,而且我的路由器似乎不支持开两个科学上网。
大家有啥更好的方法么?
1 tt0411 2020-05-08 09:56:55 +08:00 不改变 url 很难, 因为现在的包管理仓库基本都是 https 了, 如果想通过缓存服务器直接返回内容, 就必须让客户端信任自定义 CA 证书, 这个成本通常比改变 url 要高很多 (安全风险也增加很多) |
2 rockyou12 2020-05-08 10:04:12 +08:00 改 npm 地址比较好,因为像 nexus 这些仓库本来就带代理缓存功能,也可以通过 group 功能把公共仓库和私有库合并在一个虚拟的 group repo 下 而且上面也说了,你不改 url 证书这块很麻烦,不好处理 |
5 otakustay 2020-05-08 11:31:22 +08:00 缓存服务器单独给它个 DNS 配置就好了呗,114 都行 |
6 azh7138m 2020-05-08 11:42:10 +08:00 via Android http 下可以自己劫持自己 https 下可以自己中间人自己 (我要告诉你老板,你又在划水了 |
7 unhappy224 2020-05-08 14:25:19 +08:00 没必要吧,不想全局配置 url 的话可以在项目里面加一个.npmrc |
8 XGHeaven OP @unhappy224 主要有些个人的项目不止在内网(家里)开发,有时在公司抽空也会写两下。所以不想改地址。 |
9 mgrddsj 2020-05-08 14:57:28 +08:00 via Android 参考 steamcache, lancache, qcacher. |