type
status
date
slug
summary
tags
category
icon
password
😀
前不久,出于安全性和可观察性的考虑,将我的家庭个人服务器从Nginx Proxy Manager切换到了Traefik。经过这一段时间的使用,确实感觉配置起来比nginx更方便且灵活。而且通过Cloudflare Tunnel,可以轻松实现零成本的内网穿透。

🔭 前言

本文作为系列的第一篇,只做总体的介绍和展示,后续将会一步步完成以下全部服务的配置
  • Traefik 反向代理,自动发现和管理服务
  • CrowdSec 安全网关,拦截非法访问请求
  • Grafana 日志和指标监控,跟踪并记录访问日志和服务指标
  • Cloudflared 内网穿透,无需加端口号即可访问家庭服务器
这里先给大家看一下我在本地的服务部署架构:
最终实现Http请求经过cloudflare的代理转发到Traefik,再由Traefik路由到本地不同的Docker服务中。在这个过程中,客户端并不需要知道服务的具体端口号。而且我们不用再关心SSL证书问题。除了Http,还可以代理TCP或UDP流量,如SSH,RDP服务等。
notion image
顺便再提一下,使用Traefik的服务发现,我们在新增Docker服务的时候甚至不需要去配置Traefik,只需要在新的容器上加几个Label,就能实现全自动反代,非常方便。

📝 服务介绍

什么是Traefik?

Traefik是一个现代化的反向代理、负载均衡工具,使得微服务的部署更加容易。Traefik兼容所有主流的集群技术,比如Docker、Swarm mode、Kubernetes、Marathon、Consul、Etcd、Rancher、Amazon ECS等1。Traefik的配置是自动且动态的,用人话说就是:Traefik提供自动发现能力,会实时检测服务,并自动更新路由规则2。Traefik还提供了一个简洁的UI管理前端,方便查看所有的代理配置和转发状态1
相比于其他开源API网关实现组件,Traefik的优势在于它较为轻量,非常易于使用和设置3。同时,Traefik还提供了自动发现能力,会实时检测服务,并自动更新路由规则2。这些特性使得Traefik成为了一个非常受欢迎的API网关实现组件4
notion image
notion image

什么是CrowdSec?

CrowdSec是一个开源的、轻量级的安全软件,可以防止暴力攻击、恶意扫描、恶意软件和热点攻击等各种常见的网络攻击。它有一个非常活跃的社区,提供了一个丰富的安全规则库,而且还可以集成到Traefik的中间件中,从而实现更加自动和智能的安全防护。
CrowdSec的意思是众安,简单来说,就是所有CrowdSec的用户会检测和记录来自互联网中的恶意攻击,并将攻击者的信息上传到公共IP库,其他CrowdSec用户就可以自动屏蔽来自该攻击者的请求。
notion image
 

什么是Grafana?

Grafana是一个开源的数据可视化和监控平台,可以将数据从各种来源汇聚到一个统一的界面中进行展示和分析。Grafana支持的数据源非常丰富,包括Prometheus、InfluxDB、Elasticsearch、MySQL等等,而且还可以通过插件的方式扩展更多的数据源和面板。
Grafana和ELK(Elasticsearch、Logstash、Kibana)都是用于日志监控和数据可视化的工具,但是它们的设计初衷和重点略有不同。Grafana更重视数据的展示和分析,而ELK更注重日志的收集、处理和搜索。ELK可以用于收集和处理大量的日志数据,而Grafana适用于各种数据源的可视化和监控。此外,ELK也可以通过插件的方式实现面板的可视化,但在这方面,Grafana仍然是一种更为流行和成熟的解决方案。

什么是Cloudflared?

Cloudflared是由Cloudflare开发的一款轻量级的内网穿透工具。通过Cloudflared,可以将内网服务无需暴露端口,直接通过Cloudflare的服务器来访问。这一过程不仅更加安全可靠,而且还可以避免由于端口映射和路由配置带来的麻烦和安全隐患。
notion image

📝 我的系统架构

总体架构图

Treafik作为API网关,代替了Nginx Proxy Manager的反向代理,并且可以实现SSL证书的无感管理及服务自动发现,无需给每一个服务配置vhost。而且可以方便的接入中间件,如CrowdSec、Authelia、securityHeaders、cloudflarewarp等。

Dashboard展示

Traefik Dashboard
Traefik Dashboard
Unraid Dashboard
Unraid Dashboard
 
Traefik监控
Traefik监控
Explore - Loki - Grafana
Explore - Loki - Grafana
Crowdsec Overview
Crowdsec Overview

已知问题:

Cloudflare 服务错误:

Cloudflare Tunnels稳定性不佳,根据监控统计,大概每天有十几次中断,每次中断持续几分钟,会导致服务无法访问。在Github的issue中可以看到Cloudflare在尝试解决此问题。
notion image
💡
2024更新:目前运行已稳定。

🤗 总结

这套围绕Traefik的家庭服务全家桶基本可以满足我的全部需求了,其实除了Traefik以外各种工具和中间件都是可以根据自己的需求灵活选用的,单独使用Traefik也会有不错的体验。后续的文章将详细描述从安装到配置的全过程😉!

📎 参考文章

 
💡
有关Traefik安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
Traefik 篇二:前期准备Linux 删除文件
Loading...