Serving Web from volatile Dial-up IP

Lobsters Hottest News

Summary

The article describes a method to serve a web server from a dial-up connection with a volatile IP address using a cron job and SSH to update a reverse proxy configuration.

<p><a href="https://lobste.rs/s/uhzuen/serving_web_from_volatile_dial_up_ip">Comments</a></p>
Original Article
View Cached Full Text

Cached at: 09/08/26, 05:06 PM

# Serving Web from volatile Dial-up IP Source: [https://blog.mro.name/2026/09/web-from-dial-up/](https://blog.mro.name/2026/09/web-from-dial-up/) My homelab is behind a dial\-up IP link with occasional unexpected reconnects\. There is dynamic DNS, but I prefer a reverse proxy[\[1\]](https://blog.mro.name/2026/09/web-from-dial-up/#fn:prx)between the bots and me\. And dyndns doesn't notify other servers \(the reverse proxy\)\. ## No push? Then poll\. There's a cron\-job on the homelab server triggering a refresh of the reverse proxy cfg if the IP has changed: ``` # note: no sudo $ crontab -l */15 * * * * .local/bin/http-up.sh snac.mro.name vps.mro.name /var/www/vhosts/snac.mro.name/proxy-dyndns.conf ``` with a \(local\) script doing the heavy lifting \(shell escaping mostly\): ``` #!/bin/sh [ "$3" = "" ] && { cat <<EOFz Check if localhost can curl an url and if not, envsubst the current IP as \$IPv4 into a (remote) reverse proxy config in case & reload (lighttpd). SYNOPSIS \$ $0 <http url> <ssh host> <reverse proxy cfg file> 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\" " ``` After DSL reconnects, the server comes back online with the new IP within the next 15 minutes \- fine for me\. No other parties involved and the volatile host notifies the passive reverse proxy\. And: I can make do with cron & ssh and need no other tools or services\.

Similar Articles

Serving a Website on a Raspberry Pi Zero Running Entirely in RAM

Lobsters Hottest

This tutorial outlines how to host a diskless website on a Raspberry Pi Zero v1.3 using Alpine Linux, booting entirely into its 512MB of RAM. It details the required hardware, OS configuration, lightweight web servers, and offloading TLS termination to an external VPS.