This page is off-limits. It might be private, restricted, or just not ready for public viewing.
++ You can: +
+-
+
- Log in with the correct credentials +
- Return to the homepage +
- Request access +
diff --git a/services/our/Caddyfile b/services/our/Caddyfile index dab2a44..82d660a 100644 --- a/services/our/Caddyfile +++ b/services/our/Caddyfile @@ -1,3 +1,31 @@ -future.porn +future.porn { + reverse_proxy server:5000 -reverse_proxy server:5000 + handle_errors { + root * /srv/errors + + @401 expression `{http.error.status_code} == 401` + handle @401 { + rewrite * /401.html + file_server + } + + @403 expression `{http.error.status_code} == 403` + handle @403 { + rewrite * /403.html + file_server + } + + @404 expression `{http.error.status_code} == 404` + handle @404 { + rewrite * /404.html + file_server + } + + @5xx expression `{http.error.status_code} >= 500` + handle @5xx { + rewrite * /500.html + file_server + } + } +} diff --git a/services/our/compose.production.yaml b/services/our/compose.production.yaml index 83ba4f3..93b19bb 100644 --- a/services/our/compose.production.yaml +++ b/services/our/compose.production.yaml @@ -9,6 +9,7 @@ services: - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile + - ./errors:/srv/errors networks: - default diff --git a/services/our/errors/401.html b/services/our/errors/401.html new file mode 100644 index 0000000..5977ce2 --- /dev/null +++ b/services/our/errors/401.html @@ -0,0 +1,25 @@ + + + +
+ + +You are not authorized to access this page. Please log in and try + again.
+ +You found the velvet rope⦠but you're not on the list.
+ +This page is off-limits. It might be private, restricted, or just not ready for public viewing.
++ You can: +
+Looks like you took a wrong turn in the timeline.
+ +The page you're looking for doesn't exist or has been moved.
++ You can: +
+The timeline has glitched. We're working on it.
+ +Something went wrong on our side. A human has been notified.
++ You can: +
+