1
Maskeney 2021-12-26 14:39:27 +08:00 1
任何一台都可以,推荐 caddy ,对付这种简单需求配置文件好写(当然不要直接手写 JSON)
|
2
xlsepiphone 2021-12-26 17:32:40 +08:00
traefik 反代。
|
3
yianing 2021-12-26 17:54:21 +08:00 via Android
openwrt 静态分配填的主机名,nslookup 主机名.lan 就能解析到
|
5
xlsepiphone 2021-12-26 17:57:57 +08:00
@yianing #3 你这个针对非 80 端口应该无效。
|
6
yianing 2021-12-26 17:58:54 +08:00 via Android
@xlsepiphone 是,需要反向代理
|
7
rrfeng 2021-12-26 18:16:38 +08:00 1
竟然没看到 nginx 难道是过气了
|
8
Mithril 2021-12-26 18:31:02 +08:00
群晖的系统里本身就带了个反向代理。给你另外两个跑 Docker 的配置反向代理就行了。
你需要配置一个统一的 DNS ,然后在里面把几个不同的域名指向你这三台机器。 再在这三个机器的反向代理里面,把不同域名过来的请求分发到不同端口上就行了。 或者更简单点,就配置一个反向代理,然后所有你这些域名全指过去,再从这个反向代理里面分发到另外三台机器的不同端口上。 |
9
mingl0280 2021-12-26 19:13:16 +08:00 via Android
apache 或者 nginx 做个反代就完了
|
10
ysc3839 2021-12-26 20:15:30 +08:00 via Android
OpenWrt 端口转发吧。
至于 IP 怎么分配,你可以直接用原 IP ,比如规则设置成 from any to 192.168.1.123 port 5678 forward to 192.168.1.123 port 80 也可以拿一个几乎用不到的 IP 段,比如用 192.168.255.1 |
11
Donahue 2021-12-26 20:17:52 +08:00
nginx 反向代理,apache 似乎比较重不推荐
|
12
Donahue 2021-12-26 20:22:13 +08:00
1: 用 nginx
2: 部署 nginx 在任意一台宿主机上 3: 是的, 需要。如果 openwrt 上安装了 clash 之类的会劫持 dns 服务的软件,还需要在对应软件加入你的域名解析 |
13
xlsepiphone 2021-12-26 22:37:18 +08:00
还是建议使用 traefik2 ,因为 traefik2 本身也是运行在 Docker 容器中的,你只需要编排好容器,把 traefik 的配置写在 docker-compose 配置文件中即可,维护起来非常的方便。
traefik2 可以和你的服务编排到一起,也可以单独编排,分开编排的好处就是,新增服务后,你不需要重启 traefik2 ,traefik2 就可以基于 docker 的 label 动态发现你的服务。 当然 traefik2 除了反代 docker 中的 container 服务,也可以反代外部服务,比如你的群晖服务。 只需要新增一个 file provider 即可。 ps.我的 dns 重写用的是 adguardhome ,装在 openwrt 的软路由中的,当然你不用 adguardhome 也可以实现,只是我的域名解析都由 adguardhome 负责,统一管理比较方便。 blob:https://imgur.com/fc41f29a-05a8-420f-a027-f2ee6718bbb2 |
14
xlsepiphone 2021-12-26 22:37:51 +08:00
@xlsepiphone #13
|
15
xlsepiphone 2021-12-26 22:39:21 +08:00
@xlsepiphone #14 只需要把 nas.home.com 指向 traefik 反代的 ip 地址,使用如下配置反代群晖服务即可。我的群晖 ip 是静态的 192.168.1.100 ,web 服务监听 5000 端口。
```yml http: routers: my-route: rule: "Host(`nas.home.com`) && PathPrefix(`/`)" service: nas services: nas: loadBalancer: servers: - url: "http://192.168.1.100:5000" ``` |
16
MonoLogueChi 2021-12-27 00:02:22 +08:00 via Android
需要两个服务,一个是 dns 重写,相当于一个内网 dns 服务器,用于解析内网域名,我推荐用 adguardhome ,可以直接用 docker 安装。还有就是需要一个反向代理服务器,我推荐用 caddy ,可以用 dns 验证去申请证书( dns 验证需要自己去官网下载含有相关插件的二进制文件,不能直接用 docker )。
在 openwrt 修改配置,第一种方法是直接改 DHCP 设置,将分配的 dns 地址改到 adguardhome 上,另一种是将 openwrt dns 上游改为 adguardhome ,然后在 adguardhome 设置 dns 重写。 反向代理配置,使用 docker 或虚拟机安装相关反向代理服务器,caddy ,nginx 或者其他什么都可以,监听 80 和 443 端口,然后配置反向代理和 tls 。 |