9070df6c26
Signed-off-by: Jens Langhammer <jens.langhammer@beryju.org>
108 lines
2.9 KiB
Plaintext
108 lines
2.9 KiB
Plaintext
---
|
|
title: Forward auth
|
|
---
|
|
|
|
Using forward auth uses your existing reverse proxy to do the proxying, and only uses the
|
|
authentik outpost to check authentication and authorization.
|
|
|
|
To use forward auth instead of proxying, you have to change a couple of settings.
|
|
In the Proxy Provider, make sure to use one of the Forward auth modes.
|
|
|
|
## Single application
|
|
|
|
Single application mode works for a single application hosted on its dedicated subdomain. This
|
|
has the advantage that you can still do per-application access policies in authentik.
|
|
|
|
## Domain level
|
|
|
|
To use forward auth instead of proxying, you have to change a couple of settings.
|
|
In the Proxy Provider, make sure to use the *Forward auth (domain level)* mode.
|
|
|
|
This mode differs from the *Forward auth (single application)* mode in the following points:
|
|
- You don't have to configure an application in authentik for each domain
|
|
- Users don't have to authorize multiple times
|
|
|
|
There are however also some downsides, mainly the fact that you **can't** restrict individual
|
|
applications to different users.
|
|
|
|
The only configuration difference between single application and domain level is the host you specify.
|
|
|
|
For single application, you'd use the domain which the application is running on, and only /akprox
|
|
is redirected to the outpost.
|
|
|
|
For domain level, you'd use the same domain as authentik.
|
|
|
|
:::info
|
|
*example-outpost* is used as a placeholder for the outpost name.
|
|
*authentik.company* is used as a placeholder for the authentik install.
|
|
*app.company* is used as a placeholder for the external domain for the application.
|
|
*outpost.company* is used as a placeholder for the outpost. When using the embedded outpost, this can be the same as *authentik.company*
|
|
:::
|
|
|
|
## Nginx
|
|
|
|
import Tabs from '@theme/Tabs';
|
|
import TabItem from '@theme/TabItem';
|
|
|
|
<Tabs
|
|
defaultValue="standalone-nginx"
|
|
values={[
|
|
{label: 'Standalone nginx', value: 'standalone-nginx'},
|
|
{label: 'Ingress', value: 'ingress'},
|
|
{label: 'Nginx Proxy Manager', value: 'proxy-manager'},
|
|
]}>
|
|
<TabItem value="standalone-nginx">
|
|
|
|
import NginxStandalone from './_nginx_standalone.md'
|
|
|
|
<NginxStandalone />
|
|
|
|
</TabItem>
|
|
<TabItem value="ingress">
|
|
|
|
import NginxIngress from './_nginx_ingress.md'
|
|
|
|
<NginxIngress />
|
|
|
|
</TabItem>
|
|
<TabItem value="proxy-manager">
|
|
|
|
import NginxProxyManager from './_nginx_proxy_manager.md'
|
|
|
|
<NginxProxyManager />
|
|
|
|
</TabItem>
|
|
</Tabs>
|
|
|
|
## Traefik
|
|
|
|
<Tabs
|
|
defaultValue="standalone-traefik"
|
|
values={[
|
|
{label: 'Standalone traefik', value: 'standalone-traefik'},
|
|
{label: 'docker-compose', value: 'docker-compose'},
|
|
{label: 'Ingress', value: 'ingress'},
|
|
]}>
|
|
<TabItem value="standalone-traefik">
|
|
|
|
import TraefikStandalone from './_traefik_standalone.md'
|
|
|
|
<TraefikStandalone />
|
|
|
|
</TabItem>
|
|
<TabItem value="docker-compose">
|
|
|
|
import TraefikCompose from './_traefik_compose.md'
|
|
|
|
<TraefikCompose />
|
|
|
|
</TabItem>
|
|
<TabItem value="ingress">
|
|
|
|
import TraefikIngress from './_traefik_ingress.md'
|
|
|
|
<TraefikIngress />
|
|
|
|
</TabItem>
|
|
</Tabs>
|