大佬们好,我是新来的
我有一台服务器 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 [email protected]
求教这里的大佬帮忙看下,感谢。
1
ferock 2020-09-19 13:10:57 +08:00
|
2
oott123 2020-09-19 15:10:03 +08:00 via Android 1
浏览器-( https)-服务器 A-(ssh)-服务器 B
你的数据传输隧道都是安全可靠的,因而这不是运营商的问题。 |
4
natashahollyz 2020-09-19 15:33:44 +08:00
@chaodada 就因为你,我还打开看了下。。。
告辞 |
5
chaodada 2020-09-19 15:48:56 +08:00 via iPhone
@natashahollyz #4 哈哈哈哈哈哈哈哈哈😂
|
6
Osk 2020-09-19 15:57:06 +08:00
公网 ngx -> ssh tunnel -> 内网 web server
外部是 ssl 的,nginx 和 web 服务器间是 ssh 隧道,isp 没地方插手啊。 还是我看错了? |
7
h503mc 2020-09-19 16:26:21 +08:00 1
@ferock 建议使用 example.com
|
8
laojifuli OP @ferock 感谢老铁,感觉有点麻烦,我现在是每次把文件重命名,文件名后面加 1,2,3,4,5,,,,,也算是版本号吧
|
9
laojifuli OP @oott123 是这个传输过程。我想是不是我内网是 80 端口,然后 ssh 转发到服务器的,这个过程运营商会不会能缓存?
|
10
laojifuli OP @Osk 是这个流程。那大神是否知道,我的这个缓存是哪里来的,我就算把本地的静态文件删掉了,浏览器还是能访问到这个文件。如果不是运营商缓存,我就真不知道是哪里的缓存了:(
|
11
nomansky 2020-09-19 18:13:32 +08:00 via iPhone
要不就是你浏览器的,要不就是你 web 服务器的缓存
|
12
swulling 2020-09-19 18:17:09 +08:00 via iPhone
1. 这个不是运营商的缓存
2. 从描述看大概率是浏览器的缓存,可以通过开发者控制台看到 3. 给静态资源加版本号是标准做法,大部分前端库都是解决方案 |
13
laojifuli OP @nomansky 好的,感谢。应该不是浏览器,因为换浏览器,甚至说用 curl 直接抓都能抓到。我从 web 服务器这点看看。
|
15
ThirdFlame 2020-09-19 18:18:36 +08:00
服务器 A 上的 nginx 反向代理 勾选了 缓存功能。
|
16
zoikhemlab 2020-09-19 20:03:45 +08:00
@natashahollyz 就因为你,我也打开看了下。。。
告辞 |
17
laojifuli OP @ThirdFlame 感谢老铁,我去看看,感觉应该就是这个问题了
|
18
kangsheng9527 2020-09-19 23:28:49 +08:00
http header 设置 nocache,以及 url 产出随机小尾巴。。。
|
20
laojifuli OP @kangsheng9527 不知道是我设置问题还是宝塔问题,设置 nocache 不行。。。我设置了有 cache,然后缓存时间设置为 0,然后好了
|