Acasă
» Cum să
»
Remediați erorile de verificare WOPI prin verificarea cheilor, a descoperirii și a adreselor URL
Remediați erorile de verificare WOPI prin verificarea cheilor, a descoperirii și a adreselor URL
Când o gazdă WOPI raportează „validarea probei a eșuat” sau „Probă WOPI invalidă”, confirmați mai întâi care sistem a înregistrat respingerea. Dacă gazda de stocare respinge solicitarea semnată de Collabora, verificați perechea cheie-probă și răspunsul de descoperire înainte de a modifica listele de permisiuni ale gazdei WOPI sau de a dezactiva verificările probei. Pentru instalările de pachete, Collabora generează în mod normal perechea de chei; pentru implementările Docker, Kubernetes și multi-replică, perechea trebuie furnizată și persistată în mod consecvent.
Identificați verificarea defectuoasă înainte de a schimba cheile
Validarea dovezii WOPI utilizează o cerere semnată și cheia publică anunțată de clientul WOPI în metadatele sale de descoperire. Este separată de lista de gazde WOPI de încredere a Collabora, validarea certificatului TLS și verificarea token-ului de acces al gazdei de stocare. O regenerare a cheii poate fi utilă atunci când cheia privată lipsește sau nu se potrivește cu cheia publică anunțată, dar poate crea o nouă nepotrivire dacă se modifică o singură replică sau o gazdă are încă date de descoperire stocate în cache.
Un mesaj de verificare a invalidității din partea gazdei indică mai întâi descoperirea cheii, construcția semnăturii sau ora solicitării.
Dovezi în jurnal
Zona probabilă de verificat
Gazda de stocare afișează „Dovadă WOPI nevalidă” în timp ce primește CheckFileInfo sau o altă solicitare WOPI
Cheia de verificare a Collabora, datele de descoperire ale gazdei, reconstrucția URL-ului sau marcajul temporal
Collabora afișează mesajul „Gazdă WOPI neautorizată” sau „Nu există gazde WOPI acceptabile”
Configurația domeniului/lista de acces permisă a gazdei WOPI, nu cheia de probă
Token invalid, expirat sau acces refuzat fără o eroare de probă
Token de acces emis de gazdă, permisiuni sau expirarea tokenului
Verificați o solicitare eșuată atât în jurnalul Collabora, cât și în jurnalul gazdei de stocare; o funcție de rotire a browserului singură nu identifică o eroare a cheii de probă.
Alegeți reparația care se potrivește implementării
Începeți cu opțiunea cea mai puțin perturbatoare. La o instalare bazată pe pachete, verificați mai întâi fișierele cheie și jurnalele de service existente; documentația actuală Collabora spune că instalările de pachete RPM și Debian generează automat o pereche de chei de probă WOPI. Dacă aceste fișiere sunt prezente și stabile, rotirea lor este de obicei inutilă.
Collabora folosește o cheie de probă privată și publică cheia publică corespunzătoare prin intermediul WOPI discovery.
Implementare
Acțiune recomandată
Compromis
Server gestionat cu un singur pachet
Păstrați perechea de chei generată; reparați permisiunile sau regenerați-le numai dacă lipsesc sau nu corespund.
Schimbare minimă, dar verificați versiunea pachetului și căile configurate
Container Docker unic
Generează o pereche o dată și montează-o persistent în container
Necesită un volum persistent și acces corect de citire pentru coolwsd
Kubernetes sau replici multiple
Montați o pereche secret/cheie partajată în fiecare instanță Collabora
Semnături consecvente între replici; rotația trebuie să actualizeze și vizualizarea de descoperire a gazdei
Adresa URL a gazdei a fost modificată în spatele unui proxy
Verificați schema publică, gazda, calea și șirul de interogare utilizate pentru validarea semnăturii
Mai complex decât rotirea cheilor, dar evită modificările inutile ale acreditărilor
Manualul Collabora 24.04 spune că imaginea publică Docker nu include o pereche cheie-proof; generați una și montați-o persistent. Diagrama oficială Helm acceptă Secrete cheie-proof. Nu generați niciodată o pereche separată pentru fiecare replică, altfel echilibrarea încărcării poate face ca eșecurile să fie intermitente.
Verificați și reparați perechea de chei în siguranță
Găsiți căile configurate pentru chei. Pe gazda Collabora sau în interiorul containerului, inspectați setările coolwsd.xmlpentru calea cheii de probă și verificați dacă atât cheia privată, cât și cheia publică sunt disponibile. Locațiile comune se află sub /etc/coolwsd/, dar aspectele pachetului și ale containerului pot diferi. Nu lipiți niciodată cheia privată în jurnale, tichete sau chat.
Verificați dacă cheile se potrivesc. Pentru căile implicite comune, comparați amprentele digitale fără a afișa cheia privată: sudo openssl pkey -in /etc/coolwsd/proof_key -pubout -outform DER | sha256sumși openssl pkey -pubin -in /etc/coolwsd/proof_key.pub -outform DER | sha256sum. Valorile hash rezultate ar trebui să se potrivească. Dacă căile dvs. diferă, înlocuiți-le cu căile configurate efectiv. Dacă cheia privată nu poate fi citită, corectați proprietatea și permisiunile acesteia în funcție de modelul de securitate al serviciului; nu o faceți lizibilă de către întreaga lume.
Regenerați doar atunci când este necesar. Dacă cheia privată lipsește sau perechea nu se potrivește, utilizați sudo coolconfig generate-proof-keylocul unde este instalat utilitarul respectiv. Pentru Docker, generați perechea într-o locație persistentă adecvată, apoi montați ambele fișiere acolo unde Collabora le așteaptă și asigurați-vă că procesul coolwsd poate citi cheia privată. Pe o platformă gestionată, utilizați mecanismul Secret acceptat în loc să editați manual un pod care rulează.
Asigurați consecvența tuturor instanțelor. Pentru replici, implementați aceeași pereche de chei pentru fiecare instanță și reporniți sau lansați Collabora astfel încât să citească fișierele. Apoi, reîmprospătați sau reîncărcați descoperirea WOPI pe gazda de stocare utilizând mecanismul acceptat de gazda respectivă. O rotație a cheii modifică cheia publică; cache-urile sau o altă replică care încă deservește cheia anterioară pot menține erorile active.
Replicile ar trebui să partajeze o pereche persistentă de chei de probă, astfel încât fiecare instanță să semneze cererile în mod consecvent.
Când cheia se potrivește, dar validarea dovezii tot eșuează
Verificați sincronizarea timpului pe ambele sisteme. Cererile de verificare WOPI includ o marcă temporală; o gazdă poate respinge o marcă temporală veche sau în afara ferestrei. Confirmați că NTP sau serviciul de timp al platformei este funcțional și că serverele raportează ore UTC rezonabile. Nu slăbiți verificările marcălor temporale pentru a rezolva o problemă de sincronizare non-stop.
Apoi, inspectați adresa URL publică pe care gazda o folosește pentru a reconstrui cererea semnată. Dovada este legată de adresa URL a cererii, inclusiv parametrii de interogare relevanți, iar specificația WOPI impune ca reprezentarea URL utilizată pentru validare să corespundă cu formularul semnat. Un proxy invers care termină HTTPS poate face ca aplicația să vadă o adresă URL HTTP internă, chiar dacă Collabora a semnat adresa URL HTTPS publică. Configurați anteturile proxy de încredere și setările URL externe ale aplicației conform instrucțiunilor oficiale ale gazdei WOPI; nu rescrieți logica de demonstrare și nu eliminați parametrii de interogare.
Dacă validarea eșuează doar după o rotație a cheii, reîmprospătați descoperirea și verificați dacă toate replicile Collabora expun aceeași cheie publică. Dacă eșuează doar solicitările rutate printr-un proxy sau o replică, comparați jurnalele și configurația acelei căi, în loc să rotiți din nou cheia. Dezactivarea validării verificării poate slăbi o verificare de securitate și nu ar trebui utilizată ca o soluție de producție.
Verificați reparația
Preluați endpoint-ul de descoperire Collabora din rețeaua gazdei de stocare și confirmați că acesta returnează metadatele actuale ale cheii de probă.
Deschideți un document de test și confirmați că gazda de stocare acceptă solicitarea CheckFileInfo și solicitările ulterioare de documente fără o eroare de verificare a nevalidității.
Repetați pentru fiecare rută proxy sau replică, apoi confirmați că perechea de chei rămâne montată după repornirea containerului sau înlocuirea pod-ului.
Confirmați repararea deschizând un document și verificând dacă gazda acceptă solicitările WOPI.
O deschidere reușită a documentului verifică doar acea cale; repetați verificarea pentru fiecare gazdă WOPI și rută proxy pe care o utilizați.