服务器问答

大家好,请问 反向代理 后,真实的服务器地址有必要 ssl 吗?
0
2021-05-18 13:33:46
idczone

域名解析在 A 服务器,并且配置了 ssl,所有访问都是 https,

然后 nginx 配置了反向代理到 B 服务器,B 是实际的服务器,存储了 前台 dist 文件夹、server.bundle.js 、数据库,

假设 B 服务器上的文件需要保证安全(并配置了其他安全策略,如禁止 root 远程 ssh 、隐藏真实服务器 ip 和版本号),

那么 有必要给 B 服务器单独配置域名 以及 美国服务器ssl 吗?

我主要的疑惑是:B 单独配置了域名以及 ssl 和 直接是 ip 的情况下,安全效果是一样的还是有差异?

谢谢。


理论上只有全 ssl 才安全,因为你不能保证 B 服务器是安全的,ssl 除了防止被监听,还一个比较重要的是防止被劫持。比如 a 访问 b 的过程中,被劫持加料,你 a 服务器的 ssl 也不安全了吧……

一般来说走公网最好配 SSL,当然可以是自签名的(毕竟你也不直接面向用户),只要你能维护好这个“私有 CA”。走内网的话,取决于内网的安全策略,可以配 SSL 也可以不配。

除非是 b 服务器是内网环境,a 代理成外网,这样一定程度上可以保证安全,如果 b 本身就可以外网访问,那就会存在隐患。

内网可以不加 ssl,公网需要加
有过 http 回源被插广告的例子

内网不用。公网需要。就这么简单。

当然有必要,自签名即可。

没十分必要。 配置 ssl 是对外公开访问的,全世界都能看到你的网址,自然也会有人针对劫持。
后端 B 也只有后端 A 访问,iptables 配置好仅允许后端 A 的 ip 访问就足够了

内网没必要加, SSL 会影响访问速度, 得不偿失

好的,明白,两个服务器都是公网。被劫持 这部分还不熟悉。

你不会以为不知道域名就没法劫持吧?
就算不能劫持还不能偷看么?

走公网,多谢提醒,我研究下 自签名。私有 CA 密钥文件 的维护还不熟悉,这两个存放在服务器上,其他 ssl 文件我全部移到本地。

多谢提醒,我是比较担心传输过程被做手脚。

好的,多谢提醒。 我是想把 A 配置成只有域名,没有其他文件, 然后将 前、后端的文件都配置到 B 服务器上,还不确定这样是否合适。

劫持大多数是 DNS 和运营商啊,不是针对某个域名劫持,而是全部。。。

走公网的话,有没有比较好的方案 能更安全的隐藏真实服务器的 ip ? 我目前的思路是 nginx 里配置 proxy .

a-b 是走的内网,看你自己考虑吧,不加的话,就是假设云服务商内网安全,管理安全,不会有内部人员截获、监听。看你自己怎么想

A 反代 B,如果 A 与 B 之间的链路是可以信任的(如完全可控的内网环境),就可以不走 SSL,以降低 CPU 使用率。
如果 A 与 B 之间的链路不可信,那么 SSL 还是不建议省略掉,以避免由于 A->B 请求中可能出现的中间人,造成客户端请求 A 时的结果也不可信

我就是这么干的,挺合适的。
我主要是业务都放到了美国洛杉矶机房,用 cn2 的美西机器反代。

后端 B 也只有后端 A 访问,iptables 配置好后端 B 仅允许后端 A 的 ip 访问就足够了。
两个机器的通讯也没必要上加密自签证书之类的,后端 B 屏蔽除了后端 A 之外的全部访问。把安全重心放到后端 A 上。

我的后端 B 和后端 A 使用 frp stcp 模式组建的内网。frp 的 stcp 的流量已经加密用了自签证书了。

回源开长连接和 SSL session cache 。SSL 主要是握手开销大。连接建立以后用的是对称加密,开销不大。

好的,我得研究下内网方案。

明白,多谢提醒。

后端 B 屏蔽除了后端 A 之外的全部访问 -- 这个思路挺好的,我学习下。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服