Prechádzať zdrojové kódy

新增私有域名 http://dify.sv-v2.lan ,用 Caddy 反向代理

mrh 8 mesiacov pred
rodič
commit
9d051984f9
4 zmenil súbory, kde vykonal 95 pridanie a 7 odobranie
  1. 3 1
      .gitignore
  2. 8 0
      app/caddy-lan/lan.Caddyfile
  3. 21 1
      docker-compose.yaml
  4. 63 5
      readme.md

+ 3 - 1
.gitignore

@@ -1,2 +1,4 @@
 *.deb
-headscale/data
+headscale/data
+!app/caddy-lan/lan.Caddyfile
+app

+ 8 - 0
app/caddy-lan/lan.Caddyfile

@@ -0,0 +1,8 @@
+{
+	admin localhost:2020
+}
+
+http://dify.sv-v2.lan {
+	bind 100.64.0.32
+	reverse_proxy localhost:9802
+}

+ 21 - 1
docker-compose.yaml

@@ -1,4 +1,3 @@
-version: '3.5'
 services:
   headscale:
     image: headscale/headscale:stable
@@ -13,3 +12,24 @@ services:
       - 27896:8080
     command: serve
     restart: unless-stopped
+    profiles:
+      - headscale
+
+  caddy-lan:
+      image: caddy:latest
+      network_mode: host
+      restart: unless-stopped
+      container_name: caddy-lan
+      # ports:
+      #   - 9880:80
+      volumes:
+        - /etc/timezone:/etc/timezone
+        - /etc/localtime:/etc/localtime
+        - ./app/caddy-lan/lan.Caddyfile:/etc/caddy/Caddyfile
+        - ./app/caddy-lan/site:/srv
+        - ./app/caddy-lan/data:/data
+        - ./app/caddy-lan/config:/config
+        - ./app/caddy-lan/run:/run
+        - ./app/caddy-lan/web:/mnt/caddy/web
+      # extra_hosts: 
+      #   - "host.docker.internal:host-gateway"

+ 63 - 5
readme.md

@@ -1,4 +1,8 @@
 
+# Caddy
+```shell
+cd ~/program/headscale; UID=$(id -u) GID=$(id -g) sudo -E docker compose up
+```
 # 安装
 https://headscale.net/stable/setup/install/official/
 
@@ -31,13 +35,15 @@ curl -fsSL https://tailscale.com/install.sh | sh
 
 https://luotianyi.vc/8480.html
 ```shell
+docker restart headscale
 dc exec  caddy caddy reload --config /etc/caddy/Caddyfile
 # dc exec headscale headscale apikeys create --expiration 9999d
-# docker exec -it headscale headscale users create mrh
+# docker exec -it headscale headscale users create mxy
 # 创建可重用秘钥,秘钥不会失效,让用户自行管理
-docker exec -it headscale headscale preauthkeys create --user mrh --reusable --expiration 99999d 
+docker exec -it headscale headscale preauthkeys create --user mxy --reusable --expiration 99999d 
 90e2d5089997c0ef0929eaa8475ac441de0fe9acae43cfbd
 
+tailscale up --login-server https://hs.magong.site  --authkey 59a4f2afdc6605a8b213279d61fb926ad0ff704fc874dfec --hostname pc-xy --netfilter-mode=off --accept-dns=true 
 # 指定云服务器,注册
 sudo tailscale up --login-server https://hs.magong.site  --authkey 90e2d5089997c0ef0929eaa8475ac441de0fe9acae43cfbd --hostname dy1 --netfilter-mode=off --accept-dns=true
 # 云服务器如果自己配置了内网 DNS 服务器,需要指定该网卡的 search 域名
@@ -67,14 +73,66 @@ docker exec -it headscale headscale nodes delete -i 2
 可以修改 ip 地址
 ```shell
 sudo sqlite3   /root/program/headscale/headscale/data/db.sqlite
-sudo sqlite3 /home/mrh/program/headscale/headscale/data/db.sqlite
+# sudo sqlite3 /home/mrh/program/headscale/headscale/data/db.sqlite
 SELECT id, hostname, ipv4 FROM nodes;
-UPDATE nodes SET ipv4 = "100.64.0.5" WHERE id=1;
+UPDATE nodes SET ipv4 = "100.64.0.31" WHERE hostname="vs1";
+UPDATE nodes SET ipv4 = "100.64.0.32" WHERE hostname="sv-v2";
+UPDATE nodes SET ipv4 = "100.64.0.33" WHERE hostname="s2";
+UPDATE nodes SET ipv4 = "100.64.0.12" WHERE hostname="pc";
+# 更新完后,不需要做额外操作,各个节点会自动更新
+```
+## 其他操作系统
+
+### Windows 
+https://headscale.net/stable/usage/connect/windows/
+
+安装好之后,打开 cmd 控制台:
+```shell
+tailscale up --login-server https://hs.magong.site  --authkey 90e2d5089997c0ef0929eaa8475ac441de0fe9acae43cfbd  --accept-dns=true
 ```
 
+### 安卓
+教程: https://headscale.net/stable/usage/connect/android/
+
+下载: https://github.com/tailscale/tailscale-android
+
+下载 APK 包后,
+- 打开应用程序,选择右上角的设置菜单
+- 点击 Account 
+- 在右上角的菜单图标(三个点)中,选择使用备用服务器 Use an alternate server
+- 输入您的服务器URL https://hs.magong.site  ,输入完成后不会有任何提示,不要紧
+- 再次右上角的菜单图标(三个点)中,选择使用认证密钥 Use an auth key
+- 输入您的认证密钥 90e2d5089997c0ef0929eaa8475ac441de0fe9acae43cfbd ,输入完成后不会有任何提示。一般到这里,返回主页即可连接成功
+小米的默认域名是 localhost,不想使用这个域名,可以到服务器修改:
+```shell
+ssh root@dy1
+sudo sqlite3   /root/program/headscale/headscale/data/db.sqlite
+SELECT id, hostname, ipv4 FROM nodes;
+UPDATE nodes SET hostname = "mi11" WHERE id=12;
+
+```
+
+## MagicDNS 
+```shell
+ssh root@dy1
+vi /root/program/headscale/headscale/data/extra-records.json
+```
+```json
+[
+    {
+      "name": "dify.sv-v2.lan",
+      "type": "A",
+      "value": "100.64.0.32"
+    }
+  ]
+```
+```shell
+vi /root/program/headscale/headscale/config/config.yaml
+# extra_records_path: 
+```
 
 
-## MagicDNS 冲突的问题
+### 云服务器冲突的问题
 
 https://sh.alynx.one/posts/Who-Moved-My-DNS-Resolving/
 ```shell