有些时候我们跑一些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暂时绕过,验证通过之后再关掉好了
--本评论由Telegram Bot回复~❤️