> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# system - Grundlegende Systemkonfiguration

> Der system-Knoten enthält grundlegende, infrastrukturelle WEBSALE-Konfigurationen, die das technische Systemverhalten unabhängig von Shop-Inhalten steuern.

export const KonfigDeeplink = ({node}) => <>
    Die Einstellung kann über folgenden Link direkt im Admin-Interface geöffnet werden:{" "}
    <code>{`https://<shop-domain>/admin/config/${node}`}</code>{" "}
    (<a href="/konfiguration/konfigurations-deeplinks">Deeplink-Übersicht</a>)
  </>;

Der Knoten `system` enthält grundlegende technische Konfigurationen des Shops. Diese steuern das Systemverhalten auf infrastruktureller Ebene - unabhängig von Shop-Inhalten.

Die Konfiguration erfolgt im Admin-Interface im Bereich "Storefront-API".

***

## `system*` - Grundstruktur

Nachfolgend der Grundaufbau des Knotens `system`

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "system": {
    "trustedProxies": { ... }
  }
}
```

#### Parameterbeschreibung

| **Parameter**    | **Beschreibung**                                                                                                |
| ---------------- | --------------------------------------------------------------------------------------------------------------- |
| `trustedProxies` | Konfiguration der vertrauenswürdigen Proxy-Server, von denen der `X-Forwarded-For` HTTP-Header akzeptiert wird. |

***

## `system.trustedProxies` - Vertrauenswürdige Proxy-Server

In manchen Setups ist der Shop nicht direkt über das Internet erreichbar, sondern über einen vorgelagerten Server. Dies ist beispielsweise der Fall, wenn eine Agentur das Shop-Frontend auf ihrer eigenen Infrastruktur hostet. In diesem Fall sieht der Shop bei eingehenden Anfragen nicht die IP-Adresse des Endkunden, sondern nur die des Agentur-Servers.

Das ist problematisch, sobald der Shop IP-Adressen sperren muss, beispielsweise bei zu vielen fehlerhaften Login-Versuchen oder auffälligen Zahlungsvorgängen. Da alle Anfragen in diesem Fall von derselben Server-IP der Agentur kommen, würde eine Sperre den Shop somit für alle Kunden unzugänglich machen.

**Warum ist eine Whitelist notwendig?**\
Der Shop darf den `X-Forwarded-For-Header` nicht von beliebigen Servern akzeptieren. Ein Angreifer könnte diesen Header selbst setzen und dem Shop eine gefälschte IP-Adresse übermitteln, wodurch IP-basierte-Schutzmechanismen umgangen würden.

Deshalb wird mit `trustedProxies` eine Whitelist gepflegt. Nur Server, deren IP-Adresse dort eingetragen ist, dürfen den `X-Forwarded-For-Header` setzen. Von allen anderen Servern wird dieser Header ignoriert.

<Info>
  Wenn der Shop hinter einem Proxy-Server betrieben wird und `trustedProxies` nicht korrekt konfiguriert ist, können IP-Sperren die gesamte Proxy-IP betreffen und somit den Shop für alle Kunden sperren. Stellen Sie in diesem Fall sicher, dass der Proxy-Server die echte Client-IP per `X-Forwarded-For` weiterleitet und seine IP hier eingetragen ist.
</Info>

<KonfigDeeplink node="system.trustedProxies" />

#### Beispielkonfiguration `system.trustedProxies`

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "addresses": [
    "13.196.200.101",
    "13.196.0.0/16",
    "1234:5678:9abc:def0::1",
    "1234:5678:9abc:def0::/64"
  ]
}
```

#### Parameterbeschreibung

| **Parameter** | **Typ**       | **Beschreibung**                                                                                                                                                                                                                                        |
| ------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `addresses`   | list (string) | Liste der IP-Adressen oder IP-Subnetze, von denen der [X-Forwarded-For-Header](https://de.wikipedia.org/wiki/X-Forwarded-For) akzeptiert wird. <br />Unterstützt werden einzelne IPv4- und IPv6-Adressen sowie CIDR-Subnetze.<br /><br />Default:  `[]` |

#### Unterstützte IP-Formate

| **Format**          | **Beispiel**               | **Beschreibung**                                             |
| ------------------- | -------------------------- | ------------------------------------------------------------ |
| IPv4-Adresse        | `13.196.200.101`           | Eine einzelne, explizite IPv4-Adresse.                       |
| IPv4-Subnetz (CIDR) | `13.196.0.0/16`            | Alle Adressen im Bereich <br />`13.196.0.0 - 13.196.255.255` |
| IPv6-Adresse        | `1234:5678:9abc:def0::1`   | Eine einzelne, explizite IPv6-Adresse.                       |
| IPv6-Subnetz (CIDR) | `1234:5678:9abc:def0::/64` | Ein IPv6-Subnetz in CIDR-Notation.                           |

<Info>
  Subnetze in [CIDR-Notation](https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing) sind besonders dann sinnvoll, wenn ein vorgelagerter Server eine dynamische IP aus einem bekannten, festen Adressbereich verwendet.
</Info>

***

## Weiterführende Links

* [X-Forwarded-For](https://de.wikipedia.org/wiki/X-Forwarded-For)
* [Classless Inter-Domain-Routing](https://de.wikipedia.org/wiki/Classless_Inter-Domain_Routing)


## Related topics

- [Konfigurations-Deeplinks](/admin-interface/konfigurations-deeplinks.md)
- [Übersicht - Konfiguration](/konfiguration.md)
- [basket - Warenkorb](/konfiguration/basket-warenkorb.md)
- [Template Theme](/frontend/die-basics/template-theme.md)
- [Komponenten & Sammlungen in strapi](/strapi-cms/komponenten-sammlungen-in-strapi.md)
