Skip to content

Repository files, collaboration, releases and project activity.

ARCHFORGE HISTORY

Blame · FIX-HTTP-302-1.0.4.md

Branch main · the Commit author is not necessarily a verified ArchForge account.

6b0b538dd6archadmin2026-10-111 # Fix HTTP 302 false outage — ArchForge External Status v1.0.4
6b0b538dd6archadmin2026-10-112 
6b0b538dd6archadmin2026-10-113 ## Symptom
6b0b538dd6archadmin2026-10-114 
6b0b538dd6archadmin2026-10-115 The external status page claims `Main Website: Outage` but the Debian 13 VPS records `HTTP 302` in `samples` for the website. The old probe treated any redirect as a failure.
6b0b538dd6archadmin2026-10-116 
6b0b538dd6archadmin2026-10-117 ## Git-based fix on VPS 2
6b0b538dd6archadmin2026-10-118 
6b0b538dd6archadmin2026-10-119 1. Put the **1.0.4 patch** in your existing ArchForge Git repository, then commit and push. Never commit `/etc/archforge-status/status.env`, tokens, SQLite, or backup data.
6b0b538dd6archadmin2026-10-1110 2. On Debian 13 VPS 2, if you are already root:
6b0b538dd6archadmin2026-10-1111 
6b0b538dd6archadmin2026-10-1112 ```bash
6b0b538dd6archadmin2026-10-1113 cd ~/archforge-external-status
6b0b538dd6archadmin2026-10-1114 git pull --ff-only
6b0b538dd6archadmin2026-10-1115 bash ./apply-monitor-fix.sh
6b0b538dd6archadmin2026-10-1116 ```
6b0b538dd6archadmin2026-10-1117 
6b0b538dd6archadmin2026-10-1118 If using a normal sudo user, run the last command with `sudo bash ./apply-monitor-fix.sh`.
6b0b538dd6archadmin2026-10-1119 
6b0b538dd6archadmin2026-10-1120 **Do not run `./update.sh` as root:** it is intentionally restricted to normal Git users. `apply-monitor-fix.sh` is for root, uses the existing safe deployer and installs code from the checkout. It backs up your database and retains a previous code release, without changing Caddy.
6b0b538dd6archadmin2026-10-1121 
6b0b538dd6archadmin2026-10-1122 ## Behavior
6b0b538dd6archadmin2026-10-1123 
6b0b538dd6archadmin2026-10-1124 After the service restarts, monitoring starts immediately and then every `MONITOR_INTERVAL_SECONDS` (normally 60 seconds). After `MONITOR_RECOVERY_THRESHOLD` consecutive good probes (normally 2), the `Main Website` status returns to operational and the previously automatic incident is closed. Existing failed samples and incident history are **not erased**.
6b0b538dd6archadmin2026-10-1125 
6b0b538dd6archadmin2026-10-1126 A same-origin HTTPS 302 that eventually returns 200 counts as **reachability only**: it does not prove that authenticated features work. Cross-origin redirects, invalid TLS, repeated redirects, and 500 errors still fail. The optional API/Git probes remain strict.
6b0b538dd6archadmin2026-10-1127 
6b0b538dd6archadmin2026-10-1128 If an unexpected redirect to another domain is involved, monitoring will still report a failure deliberately. In that case review `TARGET_WEBSITE` and the redirect destination rather than disabling the security checks.