---
title: "私有分享一份 HTML 报告，并设置访问截止时间"
description: "向指定 Tailscale 用户私有分享一份 HTML 报告，访问权限到截止时间自动失效。了解单文件限制、撤销方式，以及独立的浏览器访客链接方案。"
url: "https://tslink.md/zh/docs/private-html-report"
locale: "zh"
product_version: "0.1.1"
source: "https://github.com/anydoor7/tslink/blob/v0.1.1/docs/sharing.md"
---

> Documentation index: https://tslink.md/zh/llms.txt · Installed binary is authoritative: `tslink manifest`.

## 选择指定人员的私有访问或浏览器访客链接

对于使用 Tailscale 的指定读者，可以直接分享文件，并为对方实际登录账号设置访问截止时间。**直接的单文件分享不能创建访客链接。** 仅浏览器访问需要另走 HTTP proxy 流程，使用明确公开且带 bearer gate 的 Funnel 入口。参见[人员分享](https://tslink.md/zh/docs/people-sharing.md)、[访客链接](https://tslink.md/zh/docs/guest-links.md)和[Tailscale Funnel](https://tailscale.com/docs/features/tailscale-funnel)。

## 只发布一个文件

优先使用资源自包含的报告：

```bash
tslink share ./report.html --name report --json
tslink url <returned-name> --wait
```

保存实际返回的 `data.name`，名称可能附加数字后缀。如果返回 `needs_login`，所有者先通过 `auth_url` 完成注册和必要的设备审批，再获取 URL。只有选中的文件可以访问，同目录下的 CSS、图片和脚本都无法访问。TSLink 每次请求都读取当前文件，报告更新后接收者看到的就是新内容。参见[文件分享](https://tslink.md/zh/docs/file-sharing.md)和[注册流程](https://tslink.md/zh/docs/quickstart.md)。

## 为一个人授予有截止时间的访问权

应用注册完成后，使用对方实际的 Tailscale 登录账号：

```bash
tslink people add alice@example.com --apps <returned-name> --until '2026-10-10T18:00:00Z'
```

请把示例日期换成至少一小时以后的未来时间。优先使用带明确时区偏移的 RFC3339 时间；没有偏移量的日期按操作者本地时间解析。对于已有的活跃人员，使用 `people update`，并保留其他仍需生效的应用授权。参见[人员授权](https://tslink.md/zh/docs/people-sharing.md)和[时长语法](https://tslink.md/zh/docs/durations.md)。

单文件服务支持 people 授权。授权只覆盖这个人。截止时间一到，此人失去访问权；分享注册仍然保留，直到你手动移除。第一次授权让应用进入 people 范围管理，但已有的显式 allow 规则以及 portal owner/admin 访问仍可能适用。请在交付地址前配置授权：最初的 CLI 分享不会自动添加指定读者限制。参见[文件访问](https://tslink.md/zh/docs/file-sharing.md)、[人员规则](https://tslink.md/zh/docs/people-sharing.md)和[portal 权限](https://tslink.md/zh/docs/portal-requests.md)。

## 帮助接收者打开报告

给已有 tailnet 成员授权不需要存储凭据。对于外部人员，可用 `people add ... --invite --print-links`；自动邀请需要用户拥有的 API token，不支持用 OAuth 替代。也可以由所有者在 Tailscale 控制台手动分享应用节点。接收者安装并登录 Tailscale，接受节点分享；网络策略仍然适用。参见[人员邀请](https://tslink.md/zh/docs/people-sharing.md)、[Tailscale 设备分享](https://tailscale.com/docs/features/sharing)、[iOS](https://tailscale.com/docs/install/ios)、[Android](https://tailscale.com/docs/install/android)及[访问控制](https://tailscale.com/docs/features/access-control/acls)。

## 通过代理提供仅浏览器访问的替代方案

直接的单文件分享不能创建访客链接。如果接收者只使用浏览器，先运行一个**配置为只提供该报告**的本地 HTTP 服务器，再注册其端口：

```bash
tslink share localhost:8080 --name report-web --json
tslink url <proxy-name> --wait --json
tslink guest create <proxy-name> --for 3d --label 'Report reviewer' --public --print-link --json
```

把 `<proxy-name>` 换成这次分享实际返回的名称，并完成必要的注册。在创建访客链接之前，先让代理上线。通用目录 Web 服务器会暴露它所服务目录的内容：TSLink 的单文件限制不会自动延续到任意代理后端。参见[代理目标](https://tslink.md/zh/docs/services.md)和[访客链接前提](https://tslink.md/zh/docs/guest-links.md)。

这个方案明确创建互联网可达的 Funnel 入口，并强制使用 bearer gate，是独立的公开流程。接收者只需要浏览器；持有链接或 PIN 不代表身份已验证。链接可以转发，也可能需要可选的 PIN。所有者需要 HTTPS/Funnel 权限。访客授权必须有截止时间，最短 1h，默认最长 7d。创建后要验证实际公网入口是否可用。参见[访客链接](https://tslink.md/zh/docs/guest-links.md)、[Tailscale Funnel](https://tailscale.com/docs/features/tailscale-funnel)和[HTTPS 设置](https://tailscale.com/docs/how-to/set-up-https-certificates)。

## 撤销访问并移除分享

私有访问使用：

```bash
tslink people remove alice@example.com
```

这会撤销此人在所有私有 HTTP/文件应用中的权限。若只需要撤销一个应用，可按需使用限定范围的 MCP `people_revoke`。已接受的私有下载、流和 WebSocket 可能继续完成，已接受的节点分享也可能保留。参见[人员撤销](https://tslink.md/zh/docs/people-sharing.md)和[MCP 角色](https://tslink.md/zh/docs/mcp-scopes.md)。

访客链接使用：

```bash
tslink guest revoke <grant-id> --json
```

grant ID 位于创建结果的 `data.grant.id`，也可以用 `tslink guest list --json` 查看。

访客撤销会取消受跟踪的流，但已经获准的有界请求可能完成。两种方式都无法收回已经交付的副本。最后使用实际名称移除相应分享：

```bash
tslink remove <returned-name> --json
```

如果另开了报告服务器，请自行停止。移除注册后，daemon 协调状态并关闭应用节点；远端设备删除取决于凭据和所有权证明。参见[访客撤销](https://tslink.md/zh/docs/guest-links.md)和[应用移除](https://tslink.md/zh/docs/services.md)。

以上 Tailscale 官方来源访问日期：**2026-10-07**。产品行为依据 TSLink v0.1.1。
