土豆不好吃

使用Cloudflare Zero Trust保护你的Web应用

文章目录[显示]

有些时候我们跑一些web应用,想把他们放在公网上,但是又不能每个人都可以访问。如果这个程序不支持通过身份验证,那么之前的做法大概会前面套上一个nginx之类的反向代理,在反向代理中配置身份认证。

这样……也不是不行,但是配置nginx就让人感觉很繁琐!在有了Cloudflare Zero Trust之后,我们可以利用Cloudflare做到这种身份认证的事情。

我这刚好有一个redis insight,接下来就可以说一下这个东西怎么跑

Redis Insight

Redis官方出的一个用户管理redis的工具,可以增删改查啦什么的。跑起来很容易,用docker跑是这样的:才不用那个electron套壳呢

docker run -d --restart=unless-stopped --name=redisinsight \
    -v redisinsight:/db -p 127.0.0.1:8001:8001 \
    -e RITRUSTEDORIGINS=https://redis.dmesg.app \
    redislabs/redisinsight

由于 Redis Insight有 CORS检查,因此这里要设置环境变量来控制,要记住不可以带 /

然后把容器连接到网络,因为我的redis通过docker-compose跑了两个,因此要把容器和网络连接起来:

docker network connect botsrunner_default redisinsight
docker network connect yyetsbot_default redisinsight

创建Argo tunnel,添加Public Hostname

如下图所示。此时redis.dmesg.app应该可以访问了

开启access

Zero Trust – Access – Applications – Add Application – Self-hosted

选择对应的会话有效期,对应的子域名

下一页configure rules选择最简单的email方式即可

此时打开对应的网站,就会发现已经进入了验证页面

输入邮箱验证之后就可以正常访问了。

在Redis Insight中,添加连接的时候,用redis.yyetsbot_default 来表示yyetsbot_default这个网络的redis service。

常见问题

收不到验证码

别怕,可能是被拦截了,比如说Gmail……

Redis Insight页面无法显示

应该是cache的问题,开development mode暂时绕过,验证通过之后再关掉好了

 


文章版权归原作者所有丨本站默认采用CC-BY-NC-SA 4.0协议进行授权|
转载必须包含本声明,并以超链接形式注明原作者和本文原始地址:
https://dmesg.app/zero-trust-access-web.html
退出移动版