OX Connector funktioniert nicht mehr mit Fehler 403

Hallo,

als ich heute in unserem System einen neuen Nutzer anlegen wollte, ist mir aufgefallen, dass diese in Open-Xchange nicht erscheinen.

In der Logdatei des Connectors (/var/log/univention/listener_modules/ox-connector.log) erscheint dabei aller paar Sekunden der Fehler 403:

2024-08-21 10:05:38 INFO    Handling PosixPath('/var/lib/univention-appcenter/apps/ox-connector/data/listener/2023-12-04-14-57-18-014877.json')
2024-08-21 10:05:38 INFO    Creating Object('oxmail/oxcontext', 'cn=context10,cn=open-xchange,[...]')
2024-08-21 10:05:38 INFO    Error while processing /var/lib/univention-appcenter/apps/ox-connector/data/listener/2023-12-04-14-57-18-014877.json
2024-08-21 10:05:38 WARNING Traceback (most recent call last):
2024-08-21 10:05:38 WARNING   File "/tmp/univention-ox-connector.listener_trigger", line 415, in run_on_files
2024-08-21 10:05:38 WARNING     function(obj)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/provisioning/__init__.py", line 69, in run
2024-08-21 10:05:38 WARNING     create_context(obj)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/provisioning/contexts.py", line 64, in create_context
2024-08-21 10:05:38 WARNING     if context_exists(obj):
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/provisioning/contexts.py", line 59, in context_exists
2024-08-21 10:05:38 WARNING     return bool(get_obj_by_name_from_ox(Context, context_id, None))
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/provisioning/helpers.py", line 41, in get_obj_by_name_from_ox
2024-08-21 10:05:38 WARNING     return klass.from_ox(context_id, name=name)
2024-08-21 10:05:38 INFO    This is consecutive error #2202696
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/soap/backend.py", line 278, in from_ox
2024-08-21 10:05:38 INFO    Sleeping for 0 sec
2024-08-21 10:05:38 WARNING     context_service = cls.service(DEFAULT_CONTEXT)
2024-08-21 10:05:38 INFO    Successfully processed 0 files during this run
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/soap/backend.py", line 105, in service
2024-08-21 10:05:38 WARNING     cls._service_objs[cls._object_type][context_id] = OxSoapServiceClass(cls.get_client_credentials(context_id))
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/soap/services.py", line 155, in __init__
2024-08-21 10:05:38 WARNING     self.Type = getattr(client_credentials.types, self._type_name, None)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/soap/credentials.py", line 84, in types
2024-08-21 10:05:38 WARNING     self.__class__._types = Types(self.server)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/soap/types.py", line 71, in __init__
2024-08-21 10:05:38 WARNING     self.__class__.wsdl_context = get_wsdl(server, 'Context')
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/univention/ox/soap/services.py", line 109, in get_wsdl
2024-08-21 10:05:38 WARNING     return ZeepClient(WS_URLS[object_type].format(server=server)).wsdl
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/zeep/client.py", line 76, in __init__
2024-08-21 10:05:38 WARNING     self.wsdl = Document(wsdl, self.transport, settings=self.settings)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 92, in __init__
2024-08-21 10:05:38 WARNING     self.load(location)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 95, in load
2024-08-21 10:05:38 WARNING     document = self._get_xml_document(location)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/zeep/wsdl/wsdl.py", line 155, in _get_xml_document
2024-08-21 10:05:38 WARNING     return load_external(
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/zeep/loader.py", line 89, in load_external
2024-08-21 10:05:38 WARNING     content = transport.load(url)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/zeep/transports.py", line 123, in load
2024-08-21 10:05:38 WARNING     content = self._load_remote_data(url)
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/zeep/transports.py", line 136, in _load_remote_data
2024-08-21 10:05:38 WARNING     response.raise_for_status()
2024-08-21 10:05:38 WARNING   File "/usr/lib/python3.9/site-packages/requests/models.py", line 1024, in raise_for_status
2024-08-21 10:05:38 WARNING     raise HTTPError(http_error_msg, response=self)
2024-08-21 10:05:38 WARNING requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://ncs-mail.[DOMAIN]/webservices/OXContextService?wsdl

Die Config des Connectors sieht recht normal aus:
grafik

Ich habe bereits probiert, das OX Admin Passwort neu zu setzen (aus /etc/ox-secrets/master.secret). Wenn ich mit diesem Passwort bspw. /opt/open-xchange/sbin/listcontext ausführe, scheint es zu stimmen.

An welcher Stelle könnten wir noch schauen, um eventuell eine Ursache zu finden?

Vielen Dank und freundliche Grüße

Hi,

hier wird anscheinend eine alte Listener Datei erneut ausgeführt, die versucht den OX Context zu erstellen, den es ja schon gibt:

2024-08-21 10:05:38 INFO    Handling PosixPath('/var/lib/univention-appcenter/apps/ox-connector/data/listener/2023-12-04-14-57-18-014877.json')
2024-08-21 10:05:38 INFO    Creating Object('oxmail/oxcontext', 'cn=context10,cn=open-xchange,[...]')

Ich glaube du kannst diese Datei einfach löschen oder nach old verschieben?! Vermutlich solltest du aber auch schauen, ob dort noch mehr Dateien liegen und was die Ursache dafür ist.

Hallo,

das war es nicht, wir haben das Problem mittlerweile dennoch lösen können. Wir hatten vor einer ganzen Weile Anpassungen an der Apache-Config vorgenommen, glaube um CalDav-Discovery zu erlauben. Dabei hatten wir das Template der Datei proxy_http_ox_100_appsuite.conf vorgenommen. In dieser gab es einen Punkt “Allow from 127.0.0.1” bei der Location für /webservices. Mit einem Update wurde das Template scheinbar geändert, jetzt kommt der Punkt aus einer UCR-Variable. Durch unsere Änderung an der Datei wurde diese allerdings nicht aktualisiert, sondern eine .dpkg-dist angelegt. Behebt man das, läuft es wieder.

Da waren wir also selbst schuld :slight_smile:

Trotzdem danke.

Freundliche Grüße

Mastodon