从不稳定拨号IP提供Web服务
摘要
文章介绍了一种方法:利用cron任务和SSH更新反向代理配置,以便从IP地址不稳定的拨号连接中托管Web服务器。
<p><a href="https://lobste.rs/s/uhzuen/serving_web_from_volatile_dial_up_ip">评论</a></p>
查看缓存全文
缓存时间: 2026/09/08 17:06
# 通过拨号动态IP提供Web服务
来源:https://blog.mro.name/2026/09/web-from-dial-up/
我的家庭实验室搭建在拨号IP链路上,偶尔会意外重连。虽然配有动态DNS,但我更倾向于在爬虫与服务器之间部署反向代理[[1]](https://blog.mro.name/2026/09/web-from-dial-up/#fn:prx)。此外,动态DNS服务不会主动通知其他服务器(即反向代理)。
## 无推送机制?那就用轮询!
家庭实验室服务器上设置了一个cron任务,当IP地址变更时自动刷新反向代理配置:
```
# 注意:无需sudo权限
$ crontab -l
*/15 * * * * .local/bin/http-up.sh snac.mro.name vps.mro.name /var/www/vhosts/snac.mro.name/proxy-dyndns.conf
```
具体执行的(本地)脚本主要处理转义等核心操作:
```
#!/bin/sh
[ "$3" = "" ] && { cat < EOFz exit 0 }
curl \
--fail \
--location \
--max-time 3.1 \
--output /dev/null \
--silent \
"$1" \
&& exit 0
ssh -4 "$2" \
"IPv4=\$(echo \$SSH_CLIENT | cut -d ' ' -f 1) envsubst \
< \"$3.tpl\" \
> \"$3\" sudo service lighttpd reload ls -l \"$3\" "
```
DSL重连后,服务器会在15分钟内以新IP恢复在线状态——这完全符合我的需求。无需第三方介入,由动态主机主动通知被动式反向代理。此外:仅需cron与ssh即可实现,无需引入其他工具或服务。
相似文章
一种让你的DHCP服务器耗尽动态IP的不寻常方式
克里斯·西本曼解释了他的反爬虫措施,由于针对LLM训练的高频爬虫激增,他阻止旧版浏览器,这给Feed阅读器和存档服务带来了混乱。
如何在客厅中通过静态IP自托管服务器
一份使用L2TP隧道和静态IP在家中自托管服务器的指南,绕过CGNAT等ISP限制。
用树莓派搭建你自己的拨号ISP
关于使用树莓派模拟拨号ISP的指南,通过Wi-Fi连接复古Mac电脑,并模拟拨号速度。
在树莓派 Zero 上完全运行于 RAM 中提供网站服务
本教程介绍如何在树莓派 Zero v1.3 上使用 Alpine Linux 搭建无磁盘网站,系统完全启动至其 512MB RAM 中。详细说明了所需硬件、操作系统配置、轻量级 Web 服务器以及将 TLS 终止卸载到外部 VPS 的方法。
使用 OpenBSD 搭建一个简单的自托管网页服务器
一份在 OpenBSD 上使用 httpd 和 WireGuard 通过 VPS 隧道隐藏 IP 来设置自托管网页服务器的逐步指南。