traefik.me 是一种通配符域名,可以把类似 `xxx.traefik.me` 这种域名解析到 `xxx` 这个 ip 上面。
例如可以使用 `192-168-1-1.traefik.me` 访问你局域网的 `192.168.31.1` 这个 ip 地址,为什么要这么`脱裤子放屁`呢,主要因为直接使用 ip 地址对于浏览器有一系列限制,而且通常你还要加上端口。
对于 traefik.me ,你还可以在前面加上一定区分 ,例如 `app1-192-168-1-1.traefik.me`,还是解析到 `192.168.31.1` 这个机器,但是你可以在nginx中对 `app1` `app2` 来反向代理到不同的服务,由于是域名,你还可以使用 `acme` 实现自动 SSL。
如果你使用 tailscale 就更方便了,本身 tailscale 可以组网,直接用组网的ip,这样你的内网服务就可以在内部各处访问了,不需要折腾太多公网的东西。
例如我的,使用dokploy这个自动部署工具

`service-nekotemplatespringadmindev-cnjau7-cb6638-100-118-61-63.traefik.me` 是我写的一个测试服务的地址,这个是 dokploy 随机生成的,前面的一堆都可以不用看,我部署了很多程序,前面的是用来区分是哪个程序的,`100-118-61-63` 这个是我机器的内网地址,当访问上面的网址时候,dokploy会使用 treafik 路由,反向代理到我部署的 docker 程序,就像下面这样。
```yaml
http:
routers:
service-nekotemplatespringadmindev-cnjau7-router-26:
rule: Host(`service-nekotemplatespringadmindev-cnjau7-cb6638-100-118-61-63.traefik.me`)
service: service-nekotemplatespringadmindev-cnjau7-service-26
middlewares: []
entryPoints:
- web
services:
service-nekotemplatespringadmindev-cnjau7-service-26:
loadBalancer:
servers:
- url: http://service-nekotemplatespringadmindev-cnjau7:8080
passHostHeader: true
```
这个使用 nginx 也可以可以实现的。
这样我就可以在任意位置,只要加入了 tailscale 组网,就可以使用上面域名访问我的服务,也不用输入端口,也可以使用 https,因为现在浏览器很多新增功能,为了安全也是要 https 才能支持。
通常支持这个功能的还有 `nip.io` 和 `xip.io` 这种。
traefik.me