Support » Allgemeine Fragen » Beim Testen des REST-API wurde ein unerwartetes Ergebnis zurückgegeben

  • Gelöst youngtimer

    (@youngtimer)


    Eine neu aufgesetzte Site meldet diesen Fehler im Website-Zustandsbericht:

    Alle bisherigen Maßnahmen, die ich hier und googleweit las, konnten diesen Fehler nicht beseitigen. Auch der Hoster weiß nicht weiter. Der tut auch nicht viel, da der Fehler sich sonst nirgends auswirkt, als beim Plugin „Real Cookie Banner“ eine Fehlermeldung auszulösen. (Jenes ist momentan deaktiviert)

    Beim Testen des REST-API wurde ein unerwartetes Ergebnis zurückgegeben:
    REST-API-Endpunkt: 
    https://example.com/wp-json/wp/v2/types/post?context=edit
    REST-API-Antwort: (404) Not Found

    Ruft man diesen Endpunkt auf, kommt:

    {
    "code": "rest_forbidden_context",
    "message": "Sie sind leider nicht berechtigt, Beiträge dieses Inhaltstyps zu bearbeiten.",
    "data": {
    "status": 401
    }
    }

    Ein Link zur Site ist noch nicht möglich, der betreibende Verein, dessen Site, soll noch nicht offiziell online gehen.

    Bisher wurde alles abgearbeitet, was an Tipps zu finden war.
    Dazu die Bemerkungen:
    A) Es gibt keine Fehlermeldungen im aktiven debug.log
    B) Die Fehlermeldung tritt auch mit Standardtheme und bar aller Plugins auf
    C) PHP Versionen sind egal, es bleibt von 7.x bis 8.x so
    D) Ändern, neu speichern der Permalinks brachte keine Änderungen (seltsamerweise wird dabei auch keine neue .htaccess generiert)
    E) Es gibt (im Normalmodus) ein Child-Theme des Parent-Themes „OnePress“, jenes hat aber noch keine modifizierte functions.php (nur CSS).
    F) Es war und ist auch im Normalmodus keines der oft genannten Plugins am Werk, welches diesen Fehler produzieren könnte.

    Website Zustandsbericht:

    ` wp-core

    version: 6.5.4
    site_language: de_DE_formal
    user_language: de_DE_formal
    timezone: Europe/Berlin
    permalink: /%postname%/
    https_status: true
    multisite: false
    user_registration: 0
    blog_public: 1
    default_comment_status: open
    environment_type: production
    user_count: 1
    dotorg_communication: true wp-paths-sizes

    wordpress_path: /var/www/clients/client115/web218/web
    wordpress_size: 83,33 MB (87376987 bytes)
    uploads_path: /var/www/clients/client115/web218/web/wp-content/uploads
    uploads_size: 15,97 MB (16745299 bytes)
    themes_path: /var/www/clients/client115/web218/web/wp-content/themes
    themes_size: 9,24 MB (9684599 bytes)
    plugins_path: /var/www/clients/client115/web218/web/wp-content/plugins
    plugins_size: 67,03 MB (70290137 bytes)
    database_size: 12,98 MB (13615104 bytes)
    total_size: 188,55 MB (197712126 bytes) wp-active-theme

    name: OnePress Child (onepress-child-master)
    version: 1.0.0
    author: FameThemes
    author_website: https://www.famethemes.com
    parent_theme: OnePress (onepress)
    theme_features: core-block-patterns, post-thumbnails, widgets-block-editor, automatic-feed-links, title-tag, menus, html5, woocommerce, custom-logo, recommend-plugins, customize-selective-refresh-widgets, wc-product-gallery-zoom, wc-product-gallery-lightbox, wc-product-gallery-slider, editor-styles, align-wide, wp-block-styles, editor-style, widgets
    theme_path: /var/www/clients/client115/web218/web/wp-content/themes/onepress-child-master
    auto_update: Deaktiviert wp-parent-theme

    name: OnePress (onepress)
    version: 2.3.8
    author: FameThemes
    author_website: https://www.famethemes.com
    theme_path: /var/www/clients/client115/web218/web/wp-content/themes/onepress
    auto_update: Deaktiviert wp-themes-inactive (1)

    Twenty Seventeen: version: 3.6, author: Das WordPress-Team, Automatische Aktualisierungen deaktiviert wp-mu-plugins (1)

    Health Check Troubleshooting Mode: author: (undefined), version: 1.9.1 wp-plugins-active (13)

    Content Views: version: 3.8.0, author: Content Views, Automatische Aktualisierungen deaktiviert
    Content Views Pro: version: 6.4.0, author: Content Views, Automatische Aktualisierungen deaktiviert
    Disable & Remove Google Fonts: version: 1.6.2, author: Fonts Plugin, Automatische Aktualisierungen deaktiviert
    Disable Gutenberg: version: 3.1.1, author: Jeff Starr, Automatische Aktualisierungen deaktiviert
    Health Check & Troubleshooting: version: 1.7.0, author: The WordPress.org community, Automatische Aktualisierungen deaktiviert
    Iks Menu: version: 1.11.2, author: IksStudio, Automatische Aktualisierungen deaktiviert
    Post Snippets (free): version: 4.0.5, author: Postsnippets, Automatische Aktualisierungen deaktiviert
    Really Disable Emojis: version: 1.1, author: Christian Leuenberg, L.net Web Solutions, Automatische Aktualisierungen deaktiviert
    Regenerate Thumbnails: version: 3.1.6, author: Alex Mills (Viper007Bond), Automatische Aktualisierungen deaktiviert
    Shortcodes Ultimate: version: 7.1.7, author: Vova Anokhin, Automatische Aktualisierungen deaktiviert
    Widget Options: version: 4.0.6.1, author: Widget Options Team, Automatische Aktualisierungen deaktiviert
    WPForms Lite: version: 1.8.8.3, author: WPForms, Automatische Aktualisierungen deaktiviert
    WP SMTP: version: 1.2.7, author: WPOmnia, Automatische Aktualisierungen deaktiviert wp-plugins-inactive (1)

    Real Cookie Banner (Free): version: 4.7.9, author: devowl.io, Automatische Aktualisierungen deaktiviert wp-media

    image_editor: WP_Image_Editor_GD
    imagick_module_version: Nicht verfügbar
    imagemagick_version: Nicht verfügbar
    imagick_version: Nicht verfügbar
    file_uploads: 1
    post_max_size: 128M
    upload_max_filesize: 128M
    max_effective_size: 128 MB
    max_file_uploads: 20
    gd_version: 2.3.3
    gd_formats: GIF, JPEG, PNG, WebP, BMP, AVIF, XPM
    ghostscript_version: unknown wp-server

    server_architecture: Linux 4.15.0-166-generic x86_64
    httpd_software: nginx/1.18.0
    php_version: 8.1.10 64bit
    php_sapi: fpm-fcgi
    max_input_variables: 1000
    time_limit: 120
    memory_limit: 128M
    admin_memory_limit: 256M
    max_input_time: 60
    upload_max_filesize: 128M
    php_post_max_size: 128M
    curl_version: 7.58.0 OpenSSL/1.1.1
    suhosin: false
    imagick_availability: false
    pretty_permalinks: true
    current: 2024-06-08T11:12:20+00:00
    utc-time: Saturday, 08-Jun-24 11:12:20 UTC
    server-time: 2024-06-08T13:12:19+02:00 wp-database

    extension: mysqli
    server_version: 10.1.48-MariaDB-0ubuntu0.18.04.1
    client_version: mysqlnd 8.1.10
    max_allowed_packet: 16777216
    max_connections: 151 wp-constants

    WP_HOME: undefined
    WP_SITEURL: undefined
    WP_CONTENT_DIR: /var/www/clients/client115/web218/web/wp-content
    WP_PLUGIN_DIR: /var/www/clients/client115/web218/web/wp-content/plugins
    WP_MEMORY_LIMIT: 40M
    WP_MAX_MEMORY_LIMIT: 256M
    WP_DEBUG: true
    WP_DEBUG_DISPLAY: false
    WP_DEBUG_LOG: debug.log
    SCRIPT_DEBUG: false
    WP_CACHE: false
    CONCATENATE_SCRIPTS: undefined
    COMPRESS_SCRIPTS: undefined
    COMPRESS_CSS: undefined
    WP_ENVIRONMENT_TYPE: Nicht definiert
    WP_DEVELOPMENT_MODE: undefined
    DB_CHARSET: utf8mb4
    DB_COLLATE: undefined wp-filesystem

    wordpress: writable
    wp-content: writable
    uploads: writable
    plugins: writable
    themes: writable
    mu-plugins: writable wpforms

    version: 1.8.8.3
    lite: 2. April 2024 um 16:55 Uhr
    upload_dir: Beschreibbar
    total_forms: 1
    total_submissions: 16

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)
  • Moderator Bego Mario Garde

    (@pixolin)

    Mit einem Link https://example.com/wp-json/wp/v2/types/post?context=edit versuchst du, auf der Website example.com einen Beitrag zu bearbeiten. Wenn du nicht angemeldet bist, gibt es eine Rückmeldung, dass du als nicht angemeldeter Nutzer nicht berechtigt bist, Beiträge zu bearbeiten. Du müsstest dich mit einem Application Password authentifizieren. – Ich sehe da erst einmal keinen Fehler?

    Die Fehlermeldung REST-API-Antwort: (404) Not Found wird schon mal ausgegeben, wenn die Permalinks nicht richtig ausgelesen werden. Durch einen Aufruf des Menüs Einstellungen > Permalinks werden die Einstellungen neu gesetzt. Gibt es die Fehlermeldung danach immer noch?
    WordPress ändert dabei nichts an der .htaccess (die Weiterleitung passt ja weiterhin, wieso also etwas ändern?) aber der Eintrag in der Datenbanktabelle wp_options wird neu geschrieben.

    Thread-Starter youngtimer

    (@youngtimer)

    Natürlich bin ich angemeldet, ansonsten würde ich diese Fehlermeldung ja nicht sehen, oder?

    Wenn diese Meldung kein Fehler ist, dann frage ich mich schon, warum WP und Real Cookie Banner das als Fehler meldet.
    Ja, es hat keine Auswirkungen, außer der riesigen Fehlermeldung, die ich hier zeige. Alles läuft wie geschmiert.

    Wie gesagt: „D) Ändern, neu speichern der Permalinks brachte keine Änderungen

    Komischerweise läuft die site auch ohne htaccess. Habe die testweise mal gelöscht (kann sie ja jederzeit aus einem WP Paket wieder ersetzen) und siehe da: Alles läuft auch ohne.
    Glaubte mal wo gelesen zu haben, dass beim neu Speichern der Permalinkstruktur auch die htaccess neu erstellt wird (wohl ein Irrtum)

    Leider verstehe ich diese API nicht wirklich, was wo warum wozu und daran änderte auch die Lektüre vieler Sites zum Thema nichts. Bisher, bei anderen Sites lief die im Hintergrund, ohne Probleme, doch bei der eben aufgebauten Site ist mir diese Meldung erstmals untergekommen.

    Moderator Bego Mario Garde

    (@pixolin)

    Natürlich bin ich angemeldet, ansonsten würde ich diese Fehlermeldung ja nicht sehen, oder?

    Um über die REST-API Inhalte zu ändern, musst du dich mit einem Application Password authentifizieren. Das Eingabefeld für ein Application Password findest du, wenn du dein Profil aufrufst ganz unten. Die Anmeldung im Backend hat damit nichts zu tun. Das hatte ich auch so geschrieben.

    Screenshot

    Wenn diese Meldung kein Fehler ist, dann frage ich mich schon, warum WP und Real Cookie Banner das als Fehler meldet.

    Wie das Plugin „Real Cookie Banner“ damit umgeht, kann ich aktuell nicht sagen. Dazu müsste ich mir das Plugin erst im Detail ansehen. Aber du hast bereits dazu eine Frage an den Plugin-Autor gestellt. (Ein Hinweis auf das Crossposting wäre hilfreich gewesen. Dann brauchen sich nicht mehrere parallel mit deinem Problem befassen.)

    Komischerweise läuft die site auch ohne htaccess. Habe die testweise mal gelöscht (kann sie ja jederzeit aus einem WP Paket wieder ersetzen) und siehe da: Alles läuft auch ohne.

    Die Antwort findest du in deinem Website-Bericht: httpd_software: nginx/1.18.0. nginx verwendet nicht die Weiterleitungsregeln der .htaccess, die für Apache2-Server gedacht ist. Möglich, dass bei der Serverkonfiguration etwas nicht passt.

    Bisher, bei anderen Sites …

    … war bestimmt einiges anders. Deshalb bringen solche Vergleich nicht so richtig viel.

    Wir bemühen uns hier nach Kräften, dir zu helfen. Das klappt nicht immer, weil wir Probleme als Außenstehende mit sehr wenig Informationen beurteilen müssen und noch lange, lange nicht alles beantworten können, was Fragen aufwirft. (Ich erhoffe mir trotzdem einen respektvollen und sachlichen Umgang auf beiden Seiten. Niemand beteiligt sich hier, um dich in irgendeiner Form zu ärgern.)

    Thread-Starter youngtimer

    (@youngtimer)

    Eingabefeld für ein Application Password

    Das sah ich schon öfters, aber keine Ahnung wofür man das braucht, also links liegen gelassen. Und auch nach etlichen Sites und Beiträgen zum Thema weiß ich nicht, wozu das gut sein soll. (auch damit nicht)
    Und noch weniger erkenne ich den Zusammenhang zu dem Fehler.

    Was ich inzwischen ansatzweise verstand, ist die Sache mit //example.com/wp-json/wp/v2/types/post?context=edit
    Bis zu Post ist es zugänglich, also da werden dann mehr oder minder formatierte Pfade gezeigt, die dann sogar zu allen oder den einzelnen Posts, Seiten führen usw.
    Bloß mit ?context=edit dran erntet man ein „forbidden“.
    Wäre dem nicht so, würde ja jeder was editieren können.

    Real Cookie Banner will zum Bleistift das machen:
    https://example.com/wp-json/real-cookie-banner/v1/consent?dummy=1&buttonClicked=main_all&decision%5B
    und es meint, das ginge nicht (tut es aber). Warum, das muss mir der Autor des Plugins erklären.

    Doch damit ist auch schon wieder vorbei, mit dem Verstehen.
    Das erklärt mir ja noch immer nicht, warum WP selbst den eingangs gezeigten Fehler wirft und wie ich den weg bekomme.

    Hinweis auf das Crossposting

    Sorry. Dachte, durch die Links dorthin wäre das gekennzeichnet.

    Stimmt ja nginx ist dort.
    Bez. Serverkonfiguration: Der Hoster ist natürlich davon in Kenntnis gesetzt. Denn ich tippe inzwischen immer mehr auf die als Ursache. Bisher kam aber kein wirkliches Ergebnis.

    Vergleiche drängen sich halt auf, am selben Host, mit gleichem Theme, Plugins usw. Aber ja, eine Kleinigkeit reicht, damit es da geht und dort nicht.

    Fazit: Einfach zu verstehen ist das alles nicht und daher danke fürs Helfen!

    Moderator Bego Mario Garde

    (@pixolin)

    Wäre dem nicht so, würde ja jeder was editieren können.

    Das habe ich gemeint.

    Ich drücke die Daumen, dass der Austausch mit dem Plugin-Entwickler etwas mehr Licht in die Sache bringt.

    Thread-Starter youngtimer

    (@youngtimer)

    Nach langer Ursachenforschung bestätigte sich, dass es am Host liegt. Was genau, ließ sich nicht eruieren, weil der Anbieter wegen fehlender Kooperation diese eine Site nun wieder los ist.

    Meine ohnehin bereits geäußerte Vermutung ist, dass es an dessen „Hochsicherheitstrakt“ liegt, wo alle Sites hinter sehr dicken Firewalls hpts. vor DDoS geschützt werden. Was auch so gewollt ist.

    Das mag für bestimmte Sites sehr gut sein und so eine bestimmte bleibt auch dort.
    Bei der ist die API auch aus sehr guten Gründen komplett deaktiviert. Komischerweise wirft deren Website-Zustand aber keine diesbezüglichen Fehler. Eventuell, weil eben komplett deaktiviert, kein einziger Endpunkt wird gebraucht und daher auch nicht zugelassen.

    Für „normale“ (WP) Sites ist dieser Host also in der aktuellen Konfiguration nicht geeignet, will man die Features eines aktuellen WP nutzen.
    Da der Support diese Konfiguration für die neue geplante, normale Site nicht ändern konnte oder wollte, musste man eben weg.

    Sollte also bei jemanden der Fehler auch so auftauchen, kann man das entweder ignorieren (solange es „nur“ der Website-Zustand meldet, geht das ja noch) oder die üblichen Verdächtigen (Plugins, welche die API abschalten können, Security-Plugins usw.) abarbeiten.

    Sollte das alles nicht helfen, nicht der Fall sein, sollte man auch noch mit dem Hoster reden.

Ansicht von 6 Antworten - 1 bis 6 (von insgesamt 6)