← 文章 / 云原生与基础设施
Hacker News 18小时前 · 2026-09-28 13:30:48 · 3 阅读

在暗网(Tor)上自托管网站

本站现在可以通过 Tor 以隐藏服务的方式访问,地址是一个只有在 Tor 网络内才能解析的 .onion 地址。1 1 用 Tor Browser 打开即可。这里没有证书颁发机构,没有 DNS,也不暴露 IP——地址直接由公钥派生,连接由 Tor 本身进行端到端加密。 Tor 会让你的流量经过数千台志愿者运营的服务器进行中转和加密,从而让任何一方都无法把你的身份和你在做什么联系起来;而隐藏服务则把这种匿名性延伸到了服务器一端。

Tor 由非营利组织 Tor Project 开发,他们通过自由软件和开放网络推动人权与自由,让每个人都能在不受跟踪、监控和审查的情况下使用互联网。这个网络之所以能运转,正是因为有人在使用它,所以不妨考虑 捐助 或运行一个中继节点——你的贡献能帮助数百万人每天在网上保持安全和隐私。

隐藏服务 §

安装 Tor,把一个隐藏服务指向本地端口。编辑 /etc/tor/torrc

HiddenServiceDir /var/lib/tor/blog/
HiddenServicePort 80 127.0.0.1:8080

该目录必须是 Tor 专用的路径,不能是网站根目录。2 2 Tor 会把服务的私钥和 hostname 文件存放在这里,并坚持独占该目录(chmod 700,属主为 debian-tor)。如果把它指向你的网站文件,Tor 会拒绝启动。 重启 Tor,读取生成的地址

$ sudo systemctl restart tor@default
$ sudo cat /var/lib/tor/blog/hostname
dhevt6e4rtgbtr3jh53xrpwmgtilkah6nyjujocsspssrsexc7omxhid.onion

提供网站服务 §

Tor 会把 onion 地址的 80 端口转发到 127.0.0.1:8080,所以 Web 服务器只需监听这个端口即可。为它添加一个 nginx server 块——不需要 TLS、HTTP/2 或 QUIC,因为 Tor 只走普通 TCP,并自带加密。

server {
  listen 127.0.0.1:8080;
  server_name dhevt6e4rtgbtr3jh53xrpwmgtilkah6nyjujocsspssrsexc7omxhid.onion;

  root /srv/tor.david.alvarezrosa.com;
  index index.html;
  error_page 404 /404/index.html;

  location / {
    try_files $uri $uri/ =404;
  }
}

重新加载 Nginx,网站即可通过 Tor 访问。

为 Onion 构建网站 §

静态站点会将基础 URL 烘焙到绝对链接中,因此为 Clearnet 构建的版本即使通过 Tor 提供,也会将访客引回 Clearnet 域名。解决方法是构建一份以 Onion 地址为基础 URL 的副本。

$ hugo --minify --baseURL="http://dhevt6e4rtgbtr3jh53xrpwmgtilkah6nyjujocsspssrsexc7omxhid.onion/"

部署流水线会自动完成这一过程:每次推送都会为每个目标——Clearnet 和 Tor——构建一次网站,并分别通过 rsync 同步到各自的 Web 根目录,从而无需手动操作即可保持两者同步。3 3 底层机器配置详见 《新服务器入门指南》;完整配置位于我的 Homelab 仓库中,而构建并部署 Tor 副本的 GitHub Actions 工作流则保存在站点自身的仓库里。


就这样。你可以通过 Tor 在 dhevt6e4rtgbtr3jh53xrpwmgtilkah6nyjujocsspssrsexc7omxhid.onion 上阅读本站。

原始来源: Hacker News

评论 (0)