
Kweizh
目前使用懒猫微服已经成功替代我之前的 NAS 成为家庭服务中心了,使用懒猫微服客户端的场景下,默认就是不需要关注内外网,都能够直接访问到我的服务,
但是有一些服务使用第三方,或者原生的客户端,而且本身也有认证功能的情况,就需要一些适配工作,
使用第三方服务自身的认证加上 HTTPS,从而不需要登录懒猫客户端也能无视内外网访问应用。
好在懒猫微服商店的有足够的应用,很大程度的降低的配置的复杂度。
目标效果如下:
当然,如果想要很方便的访问到内网的服务,还是有一些前置的依赖项的:
补充一句,如果确实没有 ssl 证书,可以考虑使用自签证书。
除了以上依赖,还用到了以下几个应用:
使用 Jellyfin 作为示例:
然后我们就可以开始配置工作。
因为涉及不同的服务进行内外网转发,所以首先我们要将希望转发的服务,通过端口转发工具,转发至微服虚拟网卡,以便转发服务能访问到目标服务。
此处以 Jellyfin 为例,转发 8096 端口至 host.lzcapp:8096,端口不一定需要一样,不冲突即可。

由于我们还希望在内网的时候可以方便的访问各种服务,所以需要配置一个 Caddy 局域网端口,作为统一入口。
由于我们需要使用 HTTPS,所以一定需要使用 443 端口。

参考官方教程,配置 Cloudflared Tunnel 连通域名到懒猫微服的公网访问。
需要注意的是安装 cloudflared 时,直接安装懒猫微服商店中的 Cloudflared 即可。
当连接成功后,选择 Public Hostname,

并新增一个自定义子域名,例如 movie.example.com,然后保存即可。

此时,你应该已经拥有可以公网直接访问的 Jellyfin 了,而且自带了 HTTPS

通过 Cloudflare Tunnel,我们已经可以通过公网访问 Jellyfin 了,但是我们肯定不希望在家里的时候,也走公网绕一圈,所以我们可以通过 Caddy,实现无缝内网访问。
Caddy 通过配置文件进行转发配置,配置文件位于 Caddy 的应用数据下 Caddyfile/Caddyfile,
首先将 ssl 证书也放到 Caddyfile 文件夹下,
然后加入以下内容,最后重启 Caddy 即可:
movie.example.com {
tls /etc/caddy/example.com.crt /etc/caddy/example.com.key
reverse_proxy host.lzcapp:8096
}
注意:
Caddyfile 文件夹是映射至服务内 /etc/caddy 的reverse_proxy 是固定的,域名和端口是前文配置的由于域名托管在 Cloudflare,并且进行了 Tunnel 的配置,域名已经默认指向 Cloudflare,
但是我们回到家时,希望直接访问内网,所以需要在路由器上将域名指向懒猫的 IP。
不同的路由器配置方式不同,用户根据自己的路由器配置解析即可。
到此,我们完成了所有配置,实现效果如下:
评论
8马克备用
l留个痕迹,下次好用
请教一下,实现这个可以做到不安装懒猫客户端也能访问微服里面的应用吗?
可以的。
请问,放到公网,会安全吗?风险是不是cloudflare会抵御一部份ddos 和cc攻击?
抱歉,我刚看到消息,这个就是为了不安装懒猫客户端专门设置的
是的,cloudflare 挡住一部分,而且本身也有 HTTPS 和应用自己的认证,别用弱密码,和正常你在网上用的一些服务是一样的安全性
cloudflare也可以设置邮件验证码保护