From 1ada7d29353ca1d989f5ce700e71b9fc18775b1f Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 30 Dec 2025 10:39:20 +0200 Subject: Update content for html --- .../2025-10-02-f3s-kubernetes-with-freebsd-part-7.html | 13 +++++++++---- gemfeed/atom.xml | 15 ++++++++++----- 2 files changed, 19 insertions(+), 9 deletions(-) (limited to 'gemfeed') diff --git a/gemfeed/2025-10-02-f3s-kubernetes-with-freebsd-part-7.html b/gemfeed/2025-10-02-f3s-kubernetes-with-freebsd-part-7.html index b4ae12dd..3ff73fb3 100644 --- a/gemfeed/2025-10-02-f3s-kubernetes-with-freebsd-part-7.html +++ b/gemfeed/2025-10-02-f3s-kubernetes-with-freebsd-part-7.html @@ -794,17 +794,20 @@ relay "https4" {

OpenBSD httpd fallback configuration



-The localhost httpd service on port 8080 serves the fallback content from /var/www/htdocs/f3s_fallback/. This directory contains a simple HTML page explaining the situation:
+The localhost httpd service on port 8080 serves the fallback content from /var/www/htdocs/f3s_fallback/. This directory contains a simple HTML page explaining the situation.
+
+The key configuration detail is using request rewrite to ensure the fallback page is served for ALL paths, not just the root. Without this, accessing paths like /login?redirect=/files/ would return 404 instead of the fallback page:

 # OpenBSD httpd.conf
-# Fallback for f3s hosts
+# Fallback for f3s hosts - serve fallback page for ALL paths
 server "f3s.foo.zone" {
   listen on * port 8080
   log style forwarded
   location * {
+    # Rewrite all requests to /index.html to show fallback page regardless of path
+    request rewrite "/index.html"
     root "/htdocs/f3s_fallback"
-    directory auto index
   }
 }
 
@@ -812,14 +815,16 @@ server "anki.f3s.foo.zone" {
   listen on * port 8080
   log style forwarded
   location * {
+    request rewrite "/index.html"
     root "/htdocs/f3s_fallback"
-    directory auto index
   }
 }
 
 # ... similar blocks for all f3s hostnames ...
 

+The request rewrite "/index.html" directive ensures that whether someone accesses /, /login, /api/status, or any other path, they all receive the same fallback page. This prevents confusing 404 errors when users have bookmarked specific URLs or follow deep links while the cluster is down.
+
The fallback page itself is straightforward: