一个 WEB 项目,浏览器访问的时候,F12 会暴露后端 API 的地址,有没有什么办法可以隐藏这个信息啊,求大神指点 😱,备注:后端接口都做了鉴权,可是老板要求要隐藏后端信息。。。
|
sakudieAug 1, 2018
1
搞个网关? 前端请求到网关,网关转发到对应的服务
|
|
2
CDN 啊。
隐藏后端服务器 ip 是为了防止 ip 暴露被人恶意攻击,和你接口是否做鉴权没任何关系。 |
|
qiayueAug 1, 2018
3
websocket 传二进制数据
|
|
4
告诉老板他看到的是前端服务器
|
|
cszhiyueAug 1, 2018
5
其实是防爬虫吧
|
|
ThirdFlameAug 1, 2018
6
怎么隐藏,不通信就能隐藏了。 能不通信么? 不能,so 隐藏不了。
CDN 是一种办法,但是接口 该有还是有啊 |
|
xiaohuangyaAug 1, 2018 via Android
8
@mcfog 真是个小机灵鬼呢。
|
|
PulpFunctionAug 1, 2018
9
加密?
|
|
prolicAug 1, 2018 via Android
10
没有,别想了
|
|
keinxAug 1, 2018
11
隐藏接口了怎么请求接口?用 JS 禁止他 F12 ?但是也只是表面功夫呀。
|
|
guixiexiezouAug 1, 2018
12
cdn 居然能做 api???????怎么实现的。。完全隐藏不可能, 但可以做成混淆,例如微博那种动态生成
|
|
QuarterAug 1, 2018 via iPhone
13
不可能的,你总得有一个请求地址吧
|
|
chairuosenAug 1, 2018
14
@guixiexiezou 国内安全宝那种就可以啊 国外 cloudflare,全站 CDN
|
|
15
|
|
v2deadAug 1, 2018
16
你们是怕人攻击 DDos 么?简单的买个防 D 代理,业务服务器就隐藏在高防 IP 后面了。
对了,套路云穷逼套餐 30Gb 的是 2 万每月起步。 |
|
whypoolAug 1, 2018
17
没有,下一个
|
|
NicholasYXAug 1, 2018
19
隐藏了怎么请求?
|
|
WordTianAug 1, 2018 via Android
20
隐藏 ip 可以,隐藏接口不可能啊
|
|
glfpesAug 1, 2018 via Android
21
api 混淆服务,之前开发过。
|
|
jswhAug 1, 2018
22
使用 websocket,不要用 api,就没有 api 暴露了
|
|
swcatAug 1, 2018 via iPhone
23
肯定是告诉老板花钱买就行了呀
|
|
tongtfAug 1, 2018
25
域名解析到 CDN,动静态资源都让走 CDN,CDN 回源到后端服务器,静态资源缓存,动态调用设置不缓存
|
|
sampengAug 1, 2018
27
楼上说 cdn 不能隐藏动态接口的怕是没这么用过的吧。。cache-control 头干嘛使的。。。
|
|
28
ps 一句。cdn 不仅仅可以隐藏真实服务器 ip。还能做到防 ddos。以及优化链路连接性。当然,会损失延迟和。。。钱
|
|
icylogicAug 1, 2018 via iPad
29
不就是用类似 cloudflare 那种做反向代理吗。。。域名下的 dns 和证书都变成 cloudflare 的了。。。一般人都看不到你原服务器 ip
|
|
IsA26hN4DcQDS7Z9Aug 1, 2018
30
只能用 CDN 了,该回源的回源,该加速的加速。还能防御 ddos,防 c,就是费钱啊老铁
|
|
someonedengAug 1, 2018
31
@mcfog 666
|
|
ajanAug 1, 2018 via Android
32
把服务器停掉呀
|
|
reusAug 1, 2018
33
做不到就做不到,老板自己不懂,为什么要要求?直接和他讲做不到!
|
|
mingyunAug 1, 2018
34
你老板是不也懂点技术
|
|
qianmengAug 1, 2018 via Android
35
cdn 加反向代理两层,估计差不多了,完全隐藏不可能的,最多加密一下
|
|
zythumAug 1, 2018
36
跟老板说,他看到的是前端服务器,不是后端服务器。
如果再不济,你跟老板打比方说,你要让别人给你寄个快递,但是不给地址,因为要隐藏私人信息,问这个快递通过什么方式发出并且寄到。 |
|
MonoLogueChiAug 1, 2018 via Android
37
楼上说的 CDN 都是隐藏 IP,接口基本无法隐藏。如果是需要反爬虫的话,可以到网上看看那些奇葩的反爬虫总结
|
|
huijieweiAug 2, 2018 via iPhone
38
做个中间代理嘛
前端后端都用 websocket 连中间代理 中间代理的地址用第三方服务发布 一个小时换一次 就是 IP 蛮贵的 |
|
hackleleAug 2, 2018
40
CDN 就可以隐藏。我的就用 CDN 隐藏。简单方便。
|
|
41
一个之前案例,仅供参考
背景: 域名 a.com 10.0.0.2 (前端), b.com 10.0.0.3 (接口), ab 同内网 a 本机绑定 host:10.0.0.3 b.api.com a 反向到当前 a 二级目录或者二级域名,nginx 拦截处理,也就是你们说的什么负载 请求是直接转发还是中间再加个什么代理或通信端口层自己看 例如我是直接 开了个转发端口 b.api.com:998 b 机器绑定 a 机器的指向域名(如果没有用 ip ) 这样也就是你所说的隐藏后台业务服务器 梳理下就是 a.com/login --拦截或处理-->> a.com/api/login --数据转发-->> b.api.com:998/login 效果大概如上 然后,对于如上方案,后面被 pass 了,从安全角度来说,确实做到了隐藏后端 只是我感觉吧,好麻烦,中间好几层消耗,太恶心了,没啥必要,纯粹增加时间和资源没什么意义 然后目前采用的做法是 前端-》中间处理层 -》后端 中间处理层与后端采用 rsa 通信,每 10 分钟更换通信 token 前端和中间层肯定有个基本的加密,例如你们常说的 jwt? 我是自己实现个内部算法 前端和中间处理层是一台服务器,后端是独立另外一台服务器 中间和后端的数据库不同 中间层放的是一些基础数据,后端放的是敏感数据 中间层往往是一个前端接口对应后端 n 个接口,最高的有 8 个接口对应一个前端接口 然后和楼上说的,你前端域名再走次 cdn 嗯,某种意义上来说,基本做到了完全隐藏你后端业务(大概,嗯是的) 当然,这套方案落下来,个人还是感觉好恶心,还在考虑其他优化方案,望大佬指点(递阔洛) |
|
leokinoAug 2, 2018
42
前端服务器转发一下咯 hh。不过转发的区别在哪儿?除了不暴露真实 ip 意外?假装自己很安全。hhhh
|
|
tempdbanAug 2, 2018 via Android
43
可以再搞一个客户端做 api 隐藏 后端 ip 地址就变成 localhost
|
|
LeiggAug 2, 2018 via iPhone
44
反爬参考商标网
|
|
JinShuAug 2, 2018 via Android
45
做个假 api,调用真 api。 类似反代?
|
|
killervAug 2, 2018
46
隐藏后端信息是什么意思?如果是为了隐藏真实 ip,走 CDN 可破。如果是隐藏接口地址,那就用 #4 的方法
|
|
toma77Aug 2, 2018
47
golang midware
|
|
lostsquirrelXAug 2, 2018
48
nginx 反向代理
|
|
v2chouAug 2, 2018
49
谁提的 没看到那个手机壳被打的视频吗
|
|
YangXiaomingAug 2, 2018
50
没看到那个手机壳被打的视频吗?
|
|
dorothyRENAug 2, 2018
51
内网通信喽,暴露了又能怎样
|
|
ala2008Aug 2, 2018
52
API 地址是指 URL ?
|
|
koalliAug 2, 2018
53
做反代或者 cdn 只是隐藏了真实的 api 地址吧,但是实际上这个做了反代或者 cdn 的本身就是个可以提供服务的 api 吧。。
看起来并不能解决隐藏 api 地址这个需求,感觉 WebSocket 靠谱点。 |
|
michaelchengAug 2, 2018
54
微服务下的架构,一般都用 API Gateway (网关),所有的后端服务都走网关,由网关控制真实的服务地址,外部能看到只是这个网关的地址。
前一阵子,刚用 kong 实践了下,https://konghq.com/kong-community-edition/ |
|
killer007Aug 2, 2018
56
前端使用 websocket 不会暴漏地址吗?
|
|
simple11Aug 2, 2018
57
有过相同经历- -。 因为要控制很多权限,最后选择了 node.js 中间层做鉴权 + 转发。
|
|
bomblessAug 2, 2018 via Android
58
怕安全问题就搞反向代理吧,你总得有个地方可以连
|
|
slgzAug 2, 2018
59
阿里云有防火墙, 可以做到地址隐藏..
|
|
cnboboleeAug 2, 2018
60
具体要隐藏什么东西?
|
|
61
居然还有说 websocket 不暴露地址的…… websocket 握手不就是 HTTP ?后续通讯不是 HTTP ?
|
|
RadomAug 2, 2018
63
老板懂些皮毛的技术真可怕
|
|
artandlolAug 2, 2018
64
多台服务器做 HAProxy+keepalive
|
|
artandlolAug 2, 2018
65
@michaelcheng 你觉得微服务哪个才是未来 比如 knative keubeless kong fission
|
|
glaucusAug 2, 2018
66
隐藏接口那你怎么请求?你怎么请求我就可以怎么请求,成本的问题而已
|
|
reusAug 2, 2018
67
打就行了。
|
|
rzti483NAJ66l669Aug 2, 2018
68
把后端服务器搬到老板家,每一次 API 请求需要经过老板按回车才能返回结果。
|
|
terence4444Aug 2, 2018 via iPhone
69
反代转发即可
|
|
4357Aug 2, 2018
70
服务端渲染
|
|
simonguoAug 2, 2018 via iPhone
71
隐藏的目的是什么?
|
|
yulonAug 2, 2018
72
只是骗老板的话,你把“ API URL + 随便随机字符串”用 Base64 编码一下当 URL,然后后端解码再把随机字符串去了得到真 URL。
|
|
lfzyxAug 2, 2018
73
中间加个 nginx 反向代理
|
|
slowmanAug 2, 2018
74
没有人提 tor 啊。。
匿名访问 /匿名建网站,就用 tor 呐 还有 i2p |
|
ToTAug 2, 2018
75
没有做过相关的 web 开发,隐藏后端信息目的是什么呀?是防止被攻击 和 防止接口随便调用?
|
|
ihciahAug 2, 2018 via iPhone
76
你们老板可能想要一个 flash …
|
|
wynemoAug 2, 2018
77
在机房里用布把服务器盖上。
|
|
abcbuzhimingAug 2, 2018
78
@ericgui websocket,别人抓个包里就暴露了
只要提供服务,就不可能隐藏、别的不说,这老板有没有说清楚做到什么叫隐藏?看不见吗?这不可能的好吗 |
|
iicanfAug 3, 2018 via Android
79
打一架,fight fight fight
|
|
AntidictatorAug 3, 2018
82
|
|
C02TobNClov1Dz56Aug 3, 2018
83
反代啊
|