Połącz Seafile i Collabora z poprawnym adresem URL WOPI
Włącz bezpieczne edytowanie dokumentów w Seafile, konfigurując adres URL wykrywania, protokół HTTPS i dostęp WOPI Collabora dla swojego wdrożenia.
W przypadku wdrożenia Collabora Online na wielu węzłach należy użyć diagramu Helm Kubernetesa w Collabora, działającego za serwerem proxy przychodzącym lub odwrotnym, który przechowuje każde żądanie dotyczące tego samego dokumentu w tym samym podze Collabora. To powinowactwo sesji jest kluczowe: zwykłe równoważenie typu round-robin może wysyłać żądania edycji i żądania schowka użytkownika do różnych podów i zakłócać wspólne edytowanie. Poniższy przykład wykorzystuje trzy repliki: NGINX Ingress i stałą liczbę replik; zastąp przykładowe nazwy hostów i klucz tajny TLS swoimi własnymi.

Potrzebujesz działającego klastra Kubernetes z co najmniej dwoma węzłami roboczymi, Helm, kontrolerem ruchu przychodzącego obsługującym wymaganą regułę powinowactwa, nazwą DNS, taką jak office.example.com, oraz certyfikatem TLS dla tej nazwy. Nextcloud musi być osiągalny dla każdego podu Collabora w jego publicznym źródle WOPI, na przykład https://cloud.example.com. CODE i Nextcloud to oddzielne usługi; ten przewodnik konfiguruje warstwę Collabora, a następnie łączy jej publiczny adres URL z Nextcloud Office.
Użyj udokumentowanej konfiguracji wielu replik wykresu Collabora, zamiast umieszczać kilka niezależnych kontenerów Docker za ogólnym modułem równoważenia obciążenia. Moduł równoważenia obciążenia, który dystrybuuje każde żądanie bez względu na źródło WOPI dokumentu, może przerwać sesje. Niniejszy przewodnik jest zgodny z oficjalnymi instrukcjami dotyczącymi wykresu Collabora Helm, dostępnymi 10 października 2026 r. Wartości wykresu mogą ulec zmianie, dlatego sprawdź wartości dla konkretnej wersji wykresu, którą planujesz zainstalować.
Dodaj repozytorium wykresów, zaktualizuj jego indeks i sprawdź bieżące ustawienia domyślne wykresu przed zapisaniem pliku nadpisującego:
helm repo add collabora https://collaboraonline.github.io/online/
helm repo update
helm show values collabora/collabora-online
Utwórz my_values.yamlz poniższymi ustawieniami podstawowymi. Przykład wykorzystuje adnotację NGINX Ingress pokazaną w pliku README wykresu Collabora. Funkcja hashuje, WOPISrctak aby żądania powiązane z jednym dokumentem docierały do tego samego kontenera. Kończy również publiczny protokół TLS na wejściu; pokazane ustawienia serwera Collabora dotyczą tego wzorca protokołu TLS zakończonego przez proxy.

replicaCount: 3
autoscaling:
enabled: false
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/upstream-hash-by: "$arg_WOPISrc"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
hosts:
- host: office.example.com
paths:
- path: /
pathType: ImplementationSpecific
tls:
- secretName: office-example-tls
hosts:
- office.example.com
collabora:
aliasgroups:
- host: "https://cloud.example.com:443"
extra_params: --o:ssl.enable=false --o:ssl.termination=true
Wpis aliasgroupsdotyczy hosta Nextcloud WOPI, a nie nazwy hosta Collabora. Należy zachować wąski zakres i użyć dokładnego schematu, nazwy hosta i portu podanego przez Nextcloud. Klucz tajny TLS dla ruchu przychodzącego musi znajdować się w przestrzeni nazw dla ruchu przychodzącego i zawierać prawidłowy certyfikat dla domeny office.example.com. Jeśli TLS kończy działanie w innym miejscu, należy zastosować się do wzorca serwera proxy z dokumentacji wykresu, zamiast extra_paramsbezmyślnie kopiować obie flagi.
Istnieje zastrzeżenie dotyczące automatycznego skalowania zależne od wersji: przykładowy plik README wykresu wyłącza automatyczne skalowanie i ostrzega, że skalowanie może zakłócić edycję grupową i kopiowanie/wklejanie, podczas gdy aktualnie opublikowany plik wartości ma domyślnie włączone automatyczne skalowanie. Aby uzyskać przewidywalny klaster początkowy, należy je jawnie wyłączyć i wybrać stałą liczbę replik. Automatyczne skalowanie należy ponownie włączyć dopiero po sprawdzeniu wskazówek dotyczących konkretnej wersji wykresu i przetestowaniu skalowania w górę i w dół podczas rzeczywistych sesji edycji.
Zainstaluj wykres w dedykowanej przestrzeni nazw. Oficjalne repozytorium wykresów dokumentuje ten wzorzec poleceń:
helm install --create-namespace \
--namespace collabora \
collabora-online collabora/collabora-online \
-f my_values.yaml
Następnie sprawdź, czy wdrożenie osiągnęło pożądaną liczbę replik i zobacz, które węzły robocze hostują kontenery:

kubectl get pods -n collabora -o wide
kubectl get ingress -n collabora
helm status collabora-online -n collabora
Upewnij się, że wszystkie trzy pody są gotowe, wejście ma oczekiwanego hosta, a repliki są rozproszone w węzłach roboczych, jeśli wymagana jest odporność na poziomie węzła. Sama liczba replik nie gwarantuje, że Kubernetes umieści pody na oddzielnych węzłach. Oficjalny szablon wykresu udostępnia ustawienia selektora węzłów, powinowactwa i tolerancji; skonfiguruj odpowiednie reguły harmonogramowania dla klastra i sprawdź poprawność renderowanego wykresu przed jego wykorzystaniem. Jeśli wersja wykresu nie udostępnia potrzebnej polityki, użyj obsługiwanego rozszerzenia wykresu lub dostosowania wdrożenia Kubernetes zamiast zakładać, że pody są rozproszone.
W NextCloud zainstaluj lub włącz aplikację NextCloud Office , a następnie otwórz Ustawienia administracyjne → Office . Wybierz zewnętrzny serwer Collabora i wprowadź https://office.example.com. Adres URL serwera to publiczny punkt końcowy TLS, do którego dostęp ma zarówno serwer NextCloud, jak i przeglądarki użytkowników; nie wprowadzaj adresu IP kontenera ani wewnętrznego adresu usługi.
Otwórz testowy plik DOCX lub ODT z NextCloud. Edytuj go w dwóch oddzielnych sesjach użytkownika i upewnij się, że obaj użytkownicy widzą zmiany. Sprawdź również narzędzia programistyczne przeglądarki lub logi Ingress pod kątem błędów WebSocket; Ingress musi utrzymywać otwarte połączenie z edytorem o długim czasie działania. Jeśli żądania jednego pliku są rozproszone między kontenerami, sprawdź, czy WOPISrcparametr zapytania jest obecny w miejscu, w którym Ingress stosuje regułę skrótu, oraz czy zainstalowany kontroler Ingress respektuje adnotację.

Udany test potwierdza, że Nextcloud może połączyć się z punktem końcowym Collabora i że dokument można edytować za pośrednictwem skonfigurowanego wejścia. Nie dowodzi to jednak, że każda aktywna sesja przetrwa awarię kontenera lub węzła. Stan edycji jest obsługiwany przez kontener obsługujący dany dokument, więc awaria może wymagać od użytkowników ponownego połączenia lub otwarcia pliku, nawet gdy inne repliki pozostają dostępne. Przetestuj scenariusze konserwacji i awarii z dokumentami niekrytycznymi i zaplanuj aktualizacje, aby sesje WebSocket o długim czasie życia były obsługiwane w sposób przemyślany.
Aby zapoznać się z aktualną składnią i zastrzeżeniami, zapoznaj się z oficjalnym plikiem README i wartościami wykresu Kubernetes Helm firmy Collabora , opublikowanym plikiem wartości wykresu oraz instrukcją konfiguracji pakietu Office firmy NextCloud . Sprawdź ustawienia z zainstalowaną wersją wykresu, ponieważ przykłady i ustawienia domyślne w repozytorium mogą się różnić.
Włącz bezpieczne edytowanie dokumentów w Seafile, konfigurując adres URL wykrywania, protokół HTTPS i dostęp WOPI Collabora dla swojego wdrożenia.
Przetestuj schowek systemowy, dostosuj uprawnienia przeglądarki i zidentyfikuj, kiedy wbudowana integracja Collabora wymaga zmiany zasad dotyczących ramek iframe.
Zamontuj pliki czcionek w systemie Docker i Collabora, aby niestandardowe czcionki były wyświetlane w edytorze i poprawnie renderowane w dokumentach.
Utwórz kopię zapasową pliku coolwsd.xml i jego źródeł wdrożeniowych, przywróć je w bezpieczny sposób i zweryfikuj KOD przed ponownym rozpoczęciem edycji przez użytkowników.
Zezwól na konkretne źródło Nextcloud lub inne źródło WOPI w KODZIE, a następnie zweryfikuj listę dozwolonych hostów i odróżnij je od ograniczeń adresu IP źródłowego Nextcloud.
Prześledź połączenia przeglądarki, WOPI i WebSocket Collabora, aby dowiedzieć się, dlaczego dokument się nie otwiera, a następnie zastosuj poprawkę odpowiadającą konfiguracji Nextcloud.
Wdrażaj repliki Collabora CODE za pomocą Helm, przechowuj każdy dokument w jednym podzie dzięki powinowactwu WOPI i weryfikuj przychodzące dane, rozmieszczenie węzłów i edycję w Nextcloud.
Prześledź nieudaną wymianę danych między przeglądarką a coolwsd, a następnie dopasuj trasę odwrotnego serwera proxy do swojej wersji Collabora, włączając w to zmianę w kodzie CODE 26.04 Apache.
Ś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.
Zresetuj powiększenie przeglądarki, przetestuj czystą sesję i zidentyfikuj, kiedy nieprawidłowo sformatowane menu rozmiarów wymaga aktualizacji serwera Collabora.