Gemeinsames Layout in components/error-page.tsx, 404 darauf umgestellt. Jede Route app/<code>/page.tsx erzeugt landingpage/<code>.html; die Deploy-Skripte kopieren alle Fehlerseiten in den Webroot. README dokumentiert die nötigen ErrorDocument-Zeilen (Server-Konfig unverändert). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
import { ErrorPage, Cmd, Out, Err } from '@/components/error-page'
|
||
|
||
export const metadata = {
|
||
title: '401 – Autorisierung erforderlich | Jamulix',
|
||
description: 'Parole? Dieser Bereich ist passwortgeschützt.',
|
||
robots: { index: false, follow: false },
|
||
}
|
||
|
||
export default function Unauthorized() {
|
||
return (
|
||
<ErrorPage
|
||
code={401}
|
||
label="Autorisierung erforderlich"
|
||
title="Parole?"
|
||
terminal={
|
||
<>
|
||
<Cmd>ssh gast@jamulix.de</Cmd>
|
||
<Err>gast@jamulix.de: Permission denied (publickey,password).</Err>
|
||
<Cmd>sudo !!</Cmd>
|
||
<Out>[sudo] Passwort für gast: ********</Out>
|
||
<Out>Sorry, try again.</Out>
|
||
<Out>[sudo] Passwort für gast: geheim</Out>
|
||
<Out>Sorry, try again.</Out>
|
||
<Out>[sudo] Passwort für gast: 123456</Out>
|
||
<Err>sudo: 3 incorrect password attempts</Err>
|
||
<Cmd>echo "Sesam, öffne dich"</Cmd>
|
||
<Out>Sesam, öffne dich</Out>
|
||
</>
|
||
}
|
||
tip={<>Tipp: <span className="text-accent">123456</span> ist es auch diesmal nicht.</>}
|
||
>
|
||
Dieser Bereich ist passwortgeschützt. Wer Zugangsdaten hat, lädt die
|
||
Seite einfach neu und meldet sich an – alle anderen bekommen immerhin
|
||
diese hübsche Fehlerseite.
|
||
</ErrorPage>
|
||
)
|
||
}
|