Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion de/15.10/api/admin/api-admin-dict.rst
Original file line number Diff line number Diff line change
Expand Up @@ -422,7 +422,7 @@ Die Felder im Request-Body zum Erstellen/Aktualisieren von Wörterbucheinträgen
- ``token`` (erforderlich), ``segmentation`` (erforderlich), ``reading`` (erforderlich), ``pos`` (erforderlich)
- ``kuromojiFile``
* - ``mapping``
- ``inputs`` (erforderlich), ``output``
- ``inputs`` (erforderlich), ``output`` (erforderlich)
- ``charMappingFile``
* - ``protwords``
- ``input`` (erforderlich)
Expand Down
8 changes: 7 additions & 1 deletion de/15.10/api/admin/api-admin-log.rst
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,11 @@ Lädt den Inhalt der angegebenen Protokolldatei herunter.
Für ``{id}`` wird die beim Auflisten erhaltene ``id`` (der mit Base64-URL-Kodierung codierte Dateiname) unverändert angegeben.
Die Antwort wird als Stream vom Typ ``application/octet-stream`` zurückgegeben.
Aus Sicherheitsgründen werden nur Namen akzeptiert, die auf ``.log`` oder ``.log.gz`` enden; Namen mit Pfadmanipulationssequenzen wie ``..`` werden abgelehnt.
Wird ein nicht existierender Dateiname oder ein als Protokolldatei nicht zulässiger Name angegeben, wird eine leere Antwort zurückgegeben.
Wird ein nicht existierender Dateiname, ein als Protokolldatei nicht zulässiger Name oder eine ``id`` angegeben, die kein gültiges Base64 ist, wird ein Validierungsfehler zurückgegeben (HTTP ``400``, ``status`` im Antwort-Body ist ``1``).

.. note::

Die ``id`` ist URL-sicheres Base64 (mit ``-`` und ``_``). Eine ``id`` im Standardalphabet (``+`` und ``/``) wird ebenfalls akzeptiert; um Mehrdeutigkeiten beim Einfügen in eine URL zu vermeiden, verwenden Sie jedoch die beim Auflisten erhaltene ``id`` unverändert.

Request
-------
Expand All @@ -124,6 +128,8 @@ Response

Binärer Stream der Protokolldatei (``Content-Type: application/octet-stream``).

Wird keine Protokolldatei mit dem angegebenen Namen gefunden, wird eine Fehlerantwort mit HTTP ``400`` und ``status`` ``1`` im Antwort-Body zurückgegeben (keine leere Antwort).

Verwendungsbeispiele
====================

Expand Down
4 changes: 2 additions & 2 deletions de/15.10/api/admin/api-admin-storage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Sie können Dateien und Verzeichnisse im Speicher auflisten sowie Dateien herunt

.. note::

Diese API lässt sich nur verwenden, wenn ein Plugin installiert ist, das den Speicher-Client bereitstellt: ``fess-storage-s3`` für Amazon S3 und S3-kompatiblen Speicher oder ``fess-storage-gcs`` für Google Cloud Storage. Die Plugins sind nicht in der Distribution enthalten. Ohne eines gibt es keinen Client für den konfigurierten ``storage.type``, und die Anfragen schlagen fehl. Installieren Sie das Plugin auf der Seite „System“ > „Plugin“ der Administrationsoberfläche oder mit ``bin/fess-setup install plugin fess-storage-s3`` (für GCS ``fess-storage-gcs``).
Diese API lässt sich nur verwenden, wenn ein Plugin installiert ist, das den Speicher-Client bereitstellt: ``fess-storage-s3`` für Amazon S3 und S3-kompatiblen Speicher oder ``fess-storage-gcs`` für Google Cloud Storage. Die Plugins sind nicht in der Distribution enthalten. Ohne eines gibt es keinen Client für den konfigurierten ``storage.type``, und die Anfragen schlagen fehl. ``GET /api/admin/storage/list`` liefert zum Beispiel keine leere Liste, sondern einen Fehler mit HTTP ``400`` (``status`` ist ``1``), dessen ``message`` den Text ``No storage client is registered as ...`` (nach dem Präfix „Storage Access Error“) enthält und das zu installierende Plugin nennt. Installieren Sie das Plugin auf der Seite „System“ > „Plugin“ der Administrationsoberfläche oder mit ``bin/fess-setup install plugin fess-storage-s3`` (für GCS ``fess-storage-gcs``).

Basis-URL
=========
Expand Down Expand Up @@ -228,7 +228,7 @@ Die häufigsten Fehlerfälle sind wie folgt.
* - Endpunkt
- Häufige Fehlerursachen
* - Dateien und Verzeichnisse auflisten
- Wenn die Anzahl der abgerufenen Einträge das Limit überschreitet
- Wenn die Anzahl der abgerufenen Einträge das Limit überschreitet oder wenn auf den Speicher nicht zugegriffen werden kann (auch wenn kein Plugin für den Speicher-Client installiert ist)
* - Datei herunterladen
- Wenn ``id`` ungültig ist oder der Download fehlschlägt
* - Datei löschen
Expand Down
20 changes: 17 additions & 3 deletions de/15.10/api/api-auth.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ Fehlerantwort

* - Statuscode
- Beschreibung
* - 400 Bad Request
- Wenn ein Anfrageparameter angegeben wurde, der sich nicht dekodieren lässt (zum Beispiel ``?q=%ff``). ``error.code`` ist ``invalid_request``.
* - 405 Method Not Allowed
- Wenn eine nicht unterstützte HTTP-Methode angegeben wurde.
* - 500 Internal Server Error
Expand All @@ -162,7 +164,7 @@ Endpunkt ``/api/v2/auth/login``
================== ====================================================

Meldet den Benutzer mit Benutzername und Passwort an.
Bei erfolgreicher Anmeldung wird die Servlet-Sitzungs-ID rotiert, ein neues CSRF-Token ausgestellt und die Rate-Limit-Buckets der aufrufenden IP und des Zielbenutzers geleert.
Bei erfolgreicher Anmeldung wird die Servlet-Sitzungs-ID rotiert, ein neues CSRF-Token ausgestellt. Außerdem wird die Aufzeichnung früherer fehlgeschlagener Versuche für dieselbe Kombination aus aufrufender IP und Benutzername (der Bucket pro Benutzer) geleert. Der Bucket pro IP wird nicht geleert, da er auch Versuche gegen andere Benutzer von derselben IP zählt; zurückgegeben wird nur der eine Platz, den dieser Versuch belegt hat.

Das Rate-Limiting erfolgt nach zwei Dimensionen: pro aufrufender IP und pro Benutzer. Bei Überschreitung des IP-seitigen Limits wird ``429 Too Many Requests`` zusammen mit einem ``Retry-After``-Header (in Sekunden) zurückgegeben. Bei Überschreitung des benutzerseitigen Limits wird – um den Zählerzustand von außen nicht erkennbar zu machen – dieselbe ``401 Unauthorized``-Antwort wie bei ungültigen Anmeldedaten zurückgegeben (ohne ``Retry-After``-Header).

Expand All @@ -183,10 +185,14 @@ Außerdem werden protokollrelative Pfade (führendes ``//``) und Pfade mit ASCII

Die Rate-Limits für Anmeldung und Passwortänderung können mit folgenden Eigenschaften konfiguriert werden (Standardwerte in Klammern):

- ``theme.api.login.rate.limit.per.ip.per.minute`` (``10``): Maximale Anzahl von Versuchen pro Minute und IP-Adresse. Gilt nur für ``/auth/login``.
- ``theme.api.login.rate.limit.per.user.per.minute`` (``5``): Maximale Anzahl von Versuchen pro Minute und Benutzer. Gilt sowohl für ``/auth/login`` als auch für ``/auth/password``.
- ``theme.api.login.rate.limit.per.ip.per.minute`` (``10``): Maximale Anzahl von Versuchen pro Minute und IP-Adresse. Gilt sowohl für ``/auth/login`` als auch für das Anmeldeformular ``POST /login/login``; beide teilen sich denselben Bucket.
- ``theme.api.login.rate.limit.per.user.per.minute`` (``5``): Maximale Anzahl von Versuchen pro Minute und Benutzer. Gilt für ``/auth/login`` und ``POST /login/login`` (diese teilen sich je Kombination aus aufrufender IP und Benutzername einen Bucket) sowie für ``/auth/password``.
- ``theme.api.login.lockout.seconds`` (``900``): Sperrungsdauer (in Sekunden) nach Überschreitung des Limits. Wird als Wert des ``Retry-After``-Headers zurückgegeben.

Das Anmeldeformular (``POST /login/login``) teilt sich die Buckets und die Sperrung mit ``/auth/login``; Fehlversuche am Formular zählen daher zum Limit von ``/auth/login`` und umgekehrt. Wird das Limit am Formular überschritten, wird dies als gewöhnlicher Anmeldefehler behandelt und nicht mit ``429`` beantwortet.

Hinter einem Reverse-Proxy, der nicht in ``rate.limit.trusted.proxies`` (Standard ``127.0.0.1,::1``) aufgeführt ist, werden alle Clients als eine einzige IP-Adresse (die des Proxys) behandelt. Wiederholte fehlgeschlagene Anmeldungen können dann für die Dauer der Sperrung alle Benutzer aussperren. Tragen Sie die Adresse des Proxys in ``rate.limit.trusted.proxies`` ein, damit die tatsächliche Client-IP aus ``X-Forwarded-For`` übernommen wird.

Anfrage-Body (LoginRequest)
~~~~~~~~~~~~~~~~~~~~~~~~~~~

Expand Down Expand Up @@ -284,12 +290,16 @@ Fehlerantwort
- Wenn die Anfrage ungültig ist (einschließlich übermäßig großer Request-Bodys und nicht unterstützter ``Content-Type``-Werte).
* - 401 Unauthorized
- Wenn die Anmeldedaten ungültig sind.
* - 403 Forbidden
- Wenn die Anfrage als Cross-Site-Anfrage blockiert wurde: Der Header ``Origin`` (oder ``Referer``) nennt einen nicht zulässigen Origin. Dies ist die grundlegende Prüfung, die jede zustandsändernde Anfrage durchläuft, und ist vom CSRF-Token getrennt, das die Anmeldung nicht benötigt.
* - 405 Method Not Allowed
- Wenn eine nicht unterstützte HTTP-Methode angegeben wurde.
* - 429 Too Many Requests
- Wenn das Rate-Limit überschritten wurde. Der ``Retry-After``-Header gibt die Wartezeit in Sekunden an.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.

Abmelden
========
Expand Down Expand Up @@ -344,6 +354,8 @@ Fehlerantwort

* - Statuscode
- Beschreibung
* - 400 Bad Request
- Wenn ein Anfrageparameter angegeben wurde, der sich nicht dekodieren lässt (zum Beispiel ``?q=%ff``). ``error.code`` ist ``invalid_request``.
* - 403 Forbidden
- Wenn der CSRF-Token fehlt oder abgelaufen ist.
* - 405 Method Not Allowed
Expand Down Expand Up @@ -456,3 +468,5 @@ Fehlerantwort
- Wenn das Rate-Limit überschritten wurde.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.
2 changes: 2 additions & 0 deletions de/15.10/api/api-cache.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,5 +96,7 @@ Details zum Fehlermodell finden Sie unter :doc:`api-overview`. Folgende HTTP-Sta
- Wenn die HTTP-Methode nicht erlaubt ist.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.

Tabelle: Fehlerantwort
2 changes: 2 additions & 0 deletions de/15.10/api/api-click.rst
Original file line number Diff line number Diff line change
Expand Up @@ -108,5 +108,7 @@ Details zum Fehlermodell finden Sie unter :doc:`api-overview`. Folgende HTTP-Sta
- Der ``Content-Type`` ist nicht ``application/json`` (UTF-8 ist erforderlich).
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.

Tabelle: Fehlerantwort
2 changes: 2 additions & 0 deletions de/15.10/api/api-export.rst
Original file line number Diff line number Diff line change
Expand Up @@ -94,5 +94,7 @@ Fehlerantwort
- Wenn das Anfragelimit pro Minute überschritten ist.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.

Tabelle: Fehlerantwort
2 changes: 2 additions & 0 deletions de/15.10/api/api-health.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ Details zum Fehlermodell finden Sie unter :doc:`api-overview`. Folgende HTTP-Sta
- Beschreibung
* - 200 OK
- Cluster ist ``GREEN`` oder ``YELLOW`` und erreichbar. Der Erfolgs-Envelope enthält ``engine``.
* - 400 Bad Request
- Wenn ein Anfrageparameter angegeben wurde, der sich nicht dekodieren lässt (zum Beispiel ``?q=%ff``). ``error.code`` ist ``invalid_request``.
* - 405 Method Not Allowed
- Wenn die HTTP-Methode nicht erlaubt ist.
* - 503 Service Unavailable
Expand Down
2 changes: 2 additions & 0 deletions de/15.10/api/api-label.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,8 @@ Details zum Fehlermodell finden Sie unter :doc:`api-overview`. Folgende HTTP-Sta

* - Statuscode
- Beschreibung
* - 400 Bad Request
- Wenn ein Anfrageparameter angegeben wurde, der sich nicht dekodieren lässt (zum Beispiel ``?q=%ff``). ``error.code`` ist ``invalid_request``.
* - 401 Unauthorized
- Wenn eine Authentifizierung erforderlich ist (Anmeldepflicht aktiviert und anonymer Aufrufer, oder die Anfrage enthält ein nicht registriertes oder abgelaufenes Zugriffstoken). ``error.code`` ist ``auth_required``.
* - 405 Method Not Allowed
Expand Down
4 changes: 4 additions & 0 deletions de/15.10/api/api-related.rst
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,8 @@ Fehlerantwort

* - Statuscode
- Beschreibung
* - 400 Bad Request
- Wenn ein Anfrageparameter angegeben wurde, der sich nicht dekodieren lässt (zum Beispiel ``?q=%ff``). ``error.code`` ist ``invalid_request``.
* - 401 Unauthorized
- Wenn eine Authentifizierung erforderlich ist (Anmeldepflicht-Einstellung aktiviert und anonymer Aufrufer). ``error.code`` ist ``auth_required``.
* - 405 Method Not Allowed
Expand Down Expand Up @@ -152,6 +154,8 @@ Fehlerantwort

* - Statuscode
- Beschreibung
* - 400 Bad Request
- Wenn ein Anfrageparameter angegeben wurde, der sich nicht dekodieren lässt (zum Beispiel ``?q=%ff``). ``error.code`` ist ``invalid_request``.
* - 401 Unauthorized
- Wenn eine Authentifizierung erforderlich ist (Anmeldepflicht-Einstellung aktiviert und anonymer Aufrufer). ``error.code`` ist ``auth_required``.
* - 405 Method Not Allowed
Expand Down
2 changes: 2 additions & 0 deletions de/15.10/api/api-search-history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,8 @@ Fehlerantwort
- Wenn die HTTP-Methode nicht zulässig ist.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.

Tabelle: Fehlerantwort

Expand Down
2 changes: 2 additions & 0 deletions de/15.10/api/api-search.rst
Original file line number Diff line number Diff line change
Expand Up @@ -291,6 +291,8 @@ Details zum Fehlermodell finden Sie unter :doc:`api-overview`. Folgende HTTP-Sta
- Wenn die HTTP-Methode nicht erlaubt ist.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.

Tabelle: Fehlerantwort

Expand Down
2 changes: 2 additions & 0 deletions de/15.10/api/api-suggest.rst
Original file line number Diff line number Diff line change
Expand Up @@ -127,3 +127,5 @@ Wenn die Vorschlags-API fehlschlägt, wird der gemeinsame Fehler-Envelope zurüc
- Wenn eine nicht unterstützte HTTP-Methode angegeben wurde. Der ``Allow``-Header gibt ``GET`` an.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.
2 changes: 2 additions & 0 deletions de/15.10/api/api-tag.rst
Original file line number Diff line number Diff line change
Expand Up @@ -401,6 +401,8 @@ HTTP-Status zurück.
- Wenn der ``Content-Type`` nicht unterstützt wird.
* - 500 Internal Server Error
- Wenn ein interner Serverfehler auftritt.
* - 503 Service Unavailable
- Wenn die Suchmaschine die Anfrage nicht entgegennehmen konnte: Sie ist nicht erreichbar oder hat die Anfrage wegen fehlender Kapazität abgelehnt. ``error.code`` ist ``service_unavailable``, und ein ``Retry-After``-Header nennt die Wartezeit in Sekunden (``5``). Die Anfrage selbst ist in Ordnung; versuchen Sie es nach kurzer Wartezeit erneut.

Tabelle: Fehlerantwort

Expand Down
2 changes: 2 additions & 0 deletions de/15.10/api/api-uiconfig.rst
Original file line number Diff line number Diff line change
Expand Up @@ -406,6 +406,8 @@ Fehlerantwort

* - Statuscode
- Beschreibung
* - 400 Bad Request
- Wenn ein Anfrageparameter angegeben wurde, der sich nicht dekodieren lässt (zum Beispiel ``?q=%ff``). ``error.code`` ist ``invalid_request``.
* - 405 Method Not Allowed
- Wenn eine nicht unterstützte HTTP-Methode angegeben wurde.
* - 500 Internal Server Error
Expand Down
Loading
Loading