用 SSH 内网穿透搭建 web 网站,如何避免静态文件被运营商缓存?

2020-09-19 13:02:25 +08:00
 laojifuli

大佬们好,我是新来的

我有一台服务器 A,内网有 ubuntu 虚拟机 B,A 跟 B 都安装了带宝塔的 lnmp 环境

我将域名 abc.com 解析到服务器 A,然后在机器 B 上用 SSH 命令配合服务器 A 上的 nginx 反向代理,实现了可以将 abc.com 的内容放在机器 B 上并能外网访问,在服务器 A 上安装域名 abc.com 的 SSL 证书,也能实现 https://abc.com 的访问。

但是目前有一个很严重的问题,就是我在机器 B 里面改的静态文件,都会被运营商缓存起来,导致每次改图片或者 css 的时候都必须把文件名一起改了才行。

SSH 内网穿透命令如下:ssh -p 12223 -NCvR 8082:192.168.1.101:80 root@xx.xx.xx.xx

求教这里的大佬帮忙看下,感谢。

2089 次点击
所在节点    问与答
20 条回复
ferock
2020-09-19 13:10:57 +08:00
文件后面加上版本号,每次文件更新以后调整版本号

https://xxx.com/1.css?v=1
oott123
2020-09-19 15:10:03 +08:00
浏览器-( https)-服务器 A-(ssh)-服务器 B

你的数据传输隧道都是安全可靠的,因而这不是运营商的问题。
chaodada
2020-09-19 15:24:19 +08:00
@ferock 老铁 这个网址很带劲啊 哈哈哈哈哈哈哈哈
natashahollyz
2020-09-19 15:33:44 +08:00
@chaodada 就因为你,我还打开看了下。。。
告辞
chaodada
2020-09-19 15:48:56 +08:00
@natashahollyz #4 哈哈哈哈哈哈哈哈哈😂
Osk
2020-09-19 15:57:06 +08:00
公网 ngx -> ssh tunnel -> 内网 web server

外部是 ssl 的,nginx 和 web 服务器间是 ssh 隧道,isp 没地方插手啊。


还是我看错了?
h503mc
2020-09-19 16:26:21 +08:00
@ferock 建议使用 example.com
laojifuli
2020-09-19 18:05:49 +08:00
@ferock 感谢老铁,感觉有点麻烦,我现在是每次把文件重命名,文件名后面加 1,2,3,4,5,,,,,也算是版本号吧
laojifuli
2020-09-19 18:08:10 +08:00
@oott123 是这个传输过程。我想是不是我内网是 80 端口,然后 ssh 转发到服务器的,这个过程运营商会不会能缓存?
laojifuli
2020-09-19 18:11:06 +08:00
@Osk 是这个流程。那大神是否知道,我的这个缓存是哪里来的,我就算把本地的静态文件删掉了,浏览器还是能访问到这个文件。如果不是运营商缓存,我就真不知道是哪里的缓存了:(
nomansky
2020-09-19 18:13:32 +08:00
要不就是你浏览器的,要不就是你 web 服务器的缓存
swulling
2020-09-19 18:17:09 +08:00
1. 这个不是运营商的缓存
2. 从描述看大概率是浏览器的缓存,可以通过开发者控制台看到
3. 给静态资源加版本号是标准做法,大部分前端库都是解决方案
laojifuli
2020-09-19 18:17:11 +08:00
@nomansky 好的,感谢。应该不是浏览器,因为换浏览器,甚至说用 curl 直接抓都能抓到。我从 web 服务器这点看看。
laojifuli
2020-09-19 18:18:16 +08:00
@swulling 应该不是浏览器,因为换浏览器,甚至说用 curl 直接抓都能抓到
ThirdFlame
2020-09-19 18:18:36 +08:00
服务器 A 上的 nginx 反向代理 勾选了 缓存功能。
zoikhemlab
2020-09-19 20:03:45 +08:00
@natashahollyz 就因为你,我也打开看了下。。。
告辞
laojifuli
2020-09-19 20:53:49 +08:00
@ThirdFlame 感谢老铁,我去看看,感觉应该就是这个问题了
kangsheng9527
2020-09-19 23:28:49 +08:00
http header 设置 nocache,以及 url 产出随机小尾巴。。。
ferock
2020-09-20 09:14:35 +08:00
@chaodada #3

靠,我闭着眼随便打的。。。。md,还没法修改。
laojifuli
2020-09-20 12:13:39 +08:00
@kangsheng9527 不知道是我设置问题还是宝塔问题,设置 nocache 不行。。。我设置了有 cache,然后缓存时间设置为 0,然后好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/708515

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX