Napraw błędy dowodu WOPI, sprawdzając klucze, odkrycia i adresy URL

Gdy host WOPI zgłasza „niepowodzenie weryfikacji dowodu” lub „Nieprawidłowy dowód WOPI”, najpierw sprawdź, który system zarejestrował odrzucenie. Jeśli host pamięci masowej odrzuca podpisane żądanie Collabora, sprawdź parę kluczy dowodu i odpowiedź wykrywania przed zmianą listy dozwolonych hosta WOPI lub wyłączeniem sprawdzania dowodów. W przypadku instalacji pakietów Collabora zazwyczaj generuje parę kluczy; w przypadku wdrożeń Docker, Kubernetes i wdrożeń z wieloma replikami, para musi być dostarczona i spójnie utrwalona.

Przed wymianą kluczyków zidentyfikuj wadliwą kontrolę

Walidacja dowodu WOPI wykorzystuje podpisane żądanie i klucz publiczny reklamowany przez klienta WOPI w jego metadanych wykrywania. Jest ona niezależna od listy zaufanych hostów WOPI Collabora, walidacji certyfikatu TLS i sprawdzania tokena dostępu hosta pamięci masowej. Regeneracja klucza może pomóc w przypadku braku klucza prywatnego lub niezgodności z reklamowanym kluczem publicznym, ale może również spowodować nową niezgodność, jeśli zmieni się tylko jedna replika lub host nadal ma buforowane dane wykrywania.

Dziennik hosta magazynu danych rejestruje odrzucone żądanie CheckFileInfo z nieprawidłowym dowodem WOPI.
Komunikat potwierdzający nieważność po stronie hosta wskazuje najpierw na odkrycie klucza, konstrukcję podpisu lub moment żądania.
Dowody w dziennikuPrawdopodobny obszar do sprawdzenia
Host pamięci masowej wyświetla komunikat „Nieprawidłowy dowód WOPI” podczas odbierania CheckFileInfo lub innego żądania WOPIKlucz dowodowy Collabora, dane odkrywcze hosta, rekonstrukcja adresu URL lub znacznik czasu
Collabora wyświetla komunikat „Nieautoryzowany host WOPI” lub „Brak akceptowalnych hostów WOPI”Konfiguracja listy dozwolonych hostów WOPI/domeny, a nie klucz dowodowy
Token jest nieprawidłowy, wygasł lub dostęp jest zabroniony bez błędu dowodowegoToken dostępu wydany przez hosta, uprawnienia lub wygaśnięcie tokena

Sprawdź jedno nieudane żądanie w dziennikach Collabora i hosta magazynu; sam wskaźnik przeglądarki nie identyfikuje błędu klucza dowodowego.

Wybierz naprawę odpowiednią do wdrożenia

Zacznij od opcji najmniej uciążliwej. W przypadku instalacji opartej na pakietach, najpierw zweryfikuj istniejące pliki kluczy i logi usług; aktualna dokumentacja Collabora podaje, że instalacje pakietów RPM i Debian automatycznie generują parę kluczy WOPI proof. Jeśli te pliki są obecne i stabilne, ich rotacja zazwyczaj nie jest konieczna.

Lista plików terminala zawiera oddzielne pliki proof_key i proof_key.pub.
Collabora korzysta z prywatnego klucza dowodowego i publikuje odpowiadający mu klucz publiczny za pomocą funkcji odkrywania WOPI.
WdrożenieZalecane działanieKompromis
Pojedynczy serwer zarządzany pakietamiZachowaj wygenerowaną parę kluczy; napraw uprawnienia lub wygeneruj ponownie tylko w przypadku ich braku lub niezgodnościMinimalna zmiana, ale sprawdź wersję pakietu i skonfigurowane ścieżki
Pojedynczy kontener DockerWygeneruj parę raz i zamontuj ją trwale w kontenerzeWymaga trwałego woluminu i prawidłowego dostępu do odczytu dla coolwsd
Kubernetes lub wiele replikZamontuj jedną współdzieloną parę kluczy tajnych/kluczy w każdej instancji CollaboraSpójne podpisy we wszystkich replikach; rotacja musi również aktualizować widok wykrywania hosta
Zmieniono adres URL hosta za serwerem proxySprawdź schemat publiczny, hosta, ścieżkę i ciąg zapytania używany do walidacji podpisuBardziej skomplikowane niż rotacja kluczy, ale pozwala uniknąć niepotrzebnych zmian danych uwierzytelniających

W podręczniku Collabora 24.04 napisano, że publiczny obraz Dockera nie zawiera pary kluczy dowodowych; należy ją wygenerować i trwale zamontować. Oficjalny diagram Helm obsługuje klucze dowodowe Secrets. Nigdy nie generuj osobnej pary dla każdej repliki, ponieważ równoważenie obciążenia może powodować sporadyczne awarie.

Sprawdź i napraw bezpiecznie parę kluczy

  1. Znajdź skonfigurowane ścieżki kluczy. Na hoście Collabora lub w kontenerze sprawdź ustawienia coolwsd.xmlścieżki klucza dowodowego i upewnij się, że zarówno klucz prywatny, jak i klucz publiczny są dostępne. Typowe lokalizacje znajdują się poniżej /etc/coolwsd/, ale układy pakietów i kontenerów mogą się różnić. Nigdy nie wklejaj klucza prywatnego do logów, zgłoszeń ani czatu.
  2. Sprawdź, czy klucze są zgodne. W przypadku typowych domyślnych ścieżek porównaj odciski palców bez wyświetlania klucza prywatnego: sudo openssl pkey -in /etc/coolwsd/proof_key -pubout -outform DER | sha256sumi openssl pkey -pubin -in /etc/coolwsd/proof_key.pub -outform DER | sha256sum. Uzyskane skróty powinny być zgodne. Jeśli ścieżki się różnią, zastąp je ścieżkami skonfigurowanymi w rzeczywistości. Jeśli nie można odczytać klucza prywatnego, popraw jego właściciela i uprawnienia zgodnie z modelem bezpieczeństwa usługi; nie ustawiaj go jako powszechnie czytelnego.
  3. Regeneruj tylko w razie potrzeby. Jeśli brakuje klucza prywatnego lub para nie pasuje, użyj sudo coolconfig generate-proof-keytego narzędzia w miejscu, w którym jest zainstalowane. W przypadku platformy Docker wygeneruj parę w odpowiedniej, trwałej lokalizacji, a następnie zamontuj oba pliki w miejscu, w którym Collabora ich oczekuje, i upewnij się, że proces coolwsd może odczytać klucz prywatny. Na platformie zarządzanej użyj obsługiwanego mechanizmu Secret zamiast ręcznie edytować działający pod.
  4. Zadbaj o spójność wszystkich instancji. W przypadku replik wdróż tę samą parę kluczy do każdej instancji i uruchom ponownie lub wdróż Collaborę, aby odczytała pliki. Następnie odśwież lub ponownie pobierz odnajdywanie WOPI na hoście pamięci masowej, korzystając z obsługiwanego przez niego mechanizmu. Rotacja kluczy zmienia klucz publiczny; pamięć podręczna lub inna replika nadal obsługująca poprzedni klucz może podtrzymywać działanie systemu w przypadku awarii.
Panel woluminów Kubernetes pokazuje ten sam sekretny klucz WOPI zamontowany w dwóch działających kontenerach Collabora.
Repliki powinny współdzielić jedną trwałą parę kluczy-dowodów, aby każda instancja podpisywała żądania w spójny sposób.

Gdy klucz pasuje, ale walidacja dowodu nadal się nie powiedzie

Sprawdź synchronizację czasu w obu systemach. Żądania WOPI zawierają znacznik czasu; host może odrzucić stary znacznik czasu lub znacznik czasu nieaktualny. Upewnij się, że protokół NTP lub usługa czasu platformy działają prawidłowo i że serwery zgłaszają sensowne czasy UTC. Nie pomijaj kontroli znacznika czasu, aby obejść problem z zegarem.

Następnie sprawdź publiczny adres URL używany przez hosta do rekonstrukcji podpisanego żądania. Dowód jest powiązany z adresem URL żądania, w tym z odpowiednimi parametrami zapytania, a specyfikacja WOPI wymaga, aby reprezentacja adresu URL używana do walidacji była zgodna z podpisanym formularzem. Odwrotny serwer proxy, który kończy protokół HTTPS, może spowodować, że aplikacja zobaczy wewnętrzny adres URL HTTP, mimo że Collabora podpisała publiczny adres URL HTTPS. Skonfiguruj zaufane nagłówki serwera proxy i ustawienia zewnętrznego adresu URL aplikacji zgodnie z oficjalnymi wytycznymi hosta WOPI; nie przepisuj logiki dowodu ani nie usuwaj parametrów zapytania.

Jeśli dowód nie zadziała dopiero po rotacji klucza, odśwież proces wykrywania i sprawdź, czy wszystkie repliki Collabora ujawniają ten sam klucz publiczny. Jeśli nie powiodą się tylko żądania kierowane przez jeden serwer proxy lub jedną replikę, porównaj logi i konfigurację tej ścieżki, zamiast ponownie rotować klucz. Wyłączenie walidacji dowodu może osłabić kontrolę bezpieczeństwa i nie powinno być stosowane jako rozwiązanie w środowisku produkcyjnym.

Sprawdź naprawę

  1. Pobierz punkt końcowy wykrywania Collabora z sieci hosta pamięci masowej i sprawdź, czy zwraca on bieżące metadane klucza dowodowego.
  2. Otwórz dokument testowy i sprawdź, czy host pamięci masowej akceptuje żądanie CheckFileInfo i kolejne żądania dokumentów bez błędu uniemożliwiającego stwierdzenie nieważności.
  3. Powtórz tę czynność dla każdej trasy proxy lub repliki, a następnie sprawdź, czy para kluczy pozostaje zamontowana po ponownym uruchomieniu kontenera lub wymianie zasobnika.
Przeglądarka wyświetla otwarty dokument w aplikacji Collabora z pomyślnie wykonanymi żądaniami CheckFileInfo i zawartości.
Potwierdź naprawę, otwierając dokument i sprawdzając, czy host akceptuje żądania WOPI.

Pomyślne otwarcie dokumentu weryfikuje tylko tę ścieżkę; powtórz sprawdzanie dla każdego hosta WOPI i trasy proxy, którą obsługujesz.

Oficjalne źródła

Zostaw komentarz

Napraw błędy dowodu WOPI, sprawdzając klucze, odkrycia i adresy URL

Napraw błędy dowodu WOPI, sprawdzając klucze, odkrycia i adresy URL

Śledź błędy dowodowe Collabora WOPI w przypadku niedopasowanych kluczy, nieaktualnych danych wykrywania, przesunięcia zegara lub zmian adresu URL serwera proxy — bez osłabiania walidacji.

Napraw błędnie renderowaną listę rozwijaną rozmiaru czcionki w Collabora Online

Napraw błędnie renderowaną listę rozwijaną rozmiaru czcionki w Collabora Online

Zresetuj powiększenie przeglądarki, przetestuj czystą sesję i zidentyfikuj, kiedy nieprawidłowo sformatowane menu rozmiarów wymaga aktualizacji serwera Collabora.

Połącz Nextcloud z samodzielnie hostowanym kontenerem Collabora CODE

Połącz Nextcloud z samodzielnie hostowanym kontenerem Collabora CODE

Wdróż Collabora CODE z Dockerem, połącz go bezpiecznie z Nextcloud Office i weryfikuj edycję dokumentów za pomocą praktycznych kontroli WOPI i serwerów proxy.

Śledź błędy połączenia Collabora za pomocą dzienników coolwsd

Śledź błędy połączenia Collabora za pomocą dzienników coolwsd

Tymczasowo uruchom coolwsd w celu debugowania, przechwyć jedno nieudane otwarcie i użyj sekwencji dziennika do oddzielenia problemów z WebSocket, WOPI, serwerem proxy i kontenerem.

Ustaw bezpieczne hasło do konsoli administracyjnej Collabora

Ustaw bezpieczne hasło do konsoli administracyjnej Collabora

Skonfiguruj logowanie administratora Collabora Online dla Dockera lub Linuxa, uruchom ponownie odpowiednią usługę i zweryfikuj nowe hasło, nie ujawniając go.

Diagnozuj wysokie zużycie procesora za pomocą coolwsd lub loolwsd Collabora

Diagnozuj wysokie zużycie procesora za pomocą coolwsd lub loolwsd Collabora

Przed zmianą ustawień Collabora lub ponownym uruchomieniem usługi sprawdź, czy obciążenie procesora pochodzi od aktywnych dokumentów, bezczynnych procesów roboczych czy przepustowości serwera.

Podnieś limit pamięci kontenera CODE bez zgadywania

Podnieś limit pamięci kontenera CODE bez zgadywania

Sprawdź, czy Docker ogranicza KOD Collabora, bezpiecznie podnieś limit pamięci Compose i potwierdź, że działający kontener otrzymał nowy limit.

Dostosuj paski narzędzi Collabora CODE bez edycji kodu źródłowego

Dostosuj paski narzędzi Collabora CODE bez edycji kodu źródłowego

Uprość środowisko Collabora CODE dzięki trybowi kompaktowemu lub z zakładkami oraz kontrolkom WOPI PostMessage, aby bezpiecznie ukryć wybrane przyciski, polecenia i zakładki.

Uruchomienie kodu Collabora za Nginx z zakończeniem TLS

Uruchomienie kodu Collabora za Nginx z zakończeniem TLS

Przypisz Nginxowi obsługę protokołu HTTPS dla kontenera Collabora CODE, popraw edycję WebSockets i zweryfikuj publiczny punkt końcowy bez ujawniania portu 9980.

Zachowaj widoczność tekstu po otwarciu klawiatury mobilnej Collabora

Zachowaj widoczność tekstu po otwarciu klawiatury mobilnej Collabora

Rozwiąż problem z klawiaturą przeglądarki mobilnej zasłaniającą tekst w usłudze Collabora Online, korzystając z szybkich obejść i oddzielnych sprawdzeń dla przeglądarek, osadzonych elementów WebViews i stron hosta.