[horde] nginx rewrite problems
Ruud Baart
r.j.baart at prompt.nl
Sat Mar 28 09:01:21 UTC 2026
Hi Ralf,
Thank you for answering.
Op 2026-03-27 om 14:19 schreef Ralf Lang:
> Hi Ruud,
>
> 1) The time sync issue is weird. Please make a backup of your database
> and afterwards run horde-db-migration command again to make sure you
> are on the right schema for kronolith.
Database is correct I think. But before going on with that problem, sync
must be 100% reliable.
> 2) Next, if you check using "composer outdated", you’ll see that there
> are some modules that aren’t updated automatically. The first question
> is: is it a good idea or not to also update
> “horde/horde-installer-plugin”, “sabre/event”, “sabre/http”,
> “sabre/uri”, and “sabre/xml”?
>
> You best run "composer why-not horde/horde-installer-plugin 3.3.1" to
> get an idea why exactly it's not updated.
It makes things not more clear for me. Probably because I don't
understand the explanation.
composer why-not horde/horde-installer-plugin 3.3.1
horde/bundle dev-master requires horde/horde-installer-plugin (^2.5.1 || dev-FRAMEWORK_6_0 || dev-master)
There is a dependency which blocks the update. I understand - because a
tried in an experimental environnement - that this module must/can be
chosen when you start a new installation but you can't use it in an
existing horde 6 installation. Is it better/important to start a fresh
installation with this 3.3.1 version?
And what about the sabre modules. Same here, the dependency horde/bundle
dev-master requires sabre/event (^5.1) blocks the update? Are the
outdated sabre modules perhaps a problem for the DAV functionality.
As an ordinary mortal, I sometimes lose my way in all this. Especially
when I'm having trouble with Horde
>
> 3) DAV
> ----
> <?xml version="1.0" encoding="utf-8"?>
> <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" <http://sabredav.org/ns>>
> <s:sabredav-version>4.7.0</s:sabredav-version>
> <s:exception>Sabre\DAV\Exception</s:exception>
> <s:message>Circular dependency detected: Kronolith_Geo → Kronolith_Geo</s:message>
> </d:error>
> Check your Horde Base App's conf.php if you have correctly configured
> your geo driver ($conf['maps']['geo']) - in the UI it's in
> http://localhost/horde/admin/config/config.php under the "maps" tab.
In my opinion, this is bizarre.
You are right: if I change the configuration of the geo driver the
behavior of DAV changes. But:
(1) I did not touch the configuration of the geo driver. It was always
not configured. For as long as I can remember the configuration I used
was $conf['maps']['driver'] = false. Suddenly I can't synchronise
calenders without configuring the geo driver after running 'composer update'
(2) I tried to configure the geo driver. The current geo driver
configuration is now: $conf['maps']['providers'] = array('Google'),
$conf['maps']['geocoder'] = 'Google', $conf['maps']['geodriver'] =
'Sql'. With this configuration most of the calendars synchronise (DAV).
One calender won't synchronise. The message in my DAVx5:
HTTP RESPONSE
<?xml version="1.0" encoding="utf-8"?>
<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">
<s:sabredav-version>4.7.0</s:sabredav-version>
<s:exception>Sabre\DAV\Exception</s:exception>
<s:message>Kan tijd invoer niet verwerken (04)</s:message>
</d:error>
Strange error (translated: can't proces time input) and probably
incorrect. This calendar has very few entries and I can't see any
strange times. And all entries are accepted bij Kronolith.
As said, I can't configure "$conf['maps']['driver'] = false" because
then all calenders won't sync. I can change $conf['maps']['providers'] =
array('Google') for another provider. But I _must_
configure $conf['maps']['geocoder'] otherwise no sync and I
_must_ $conf['maps']['geodriver']. If I choose none no syncing.
So, you put me on the right track but the solution is not evident for me.
>
>
>
>
> On Fri, Mar 27, 2026 at 12:40 PM Ruud Baart <r.j.baart at prompt.nl> wrote:
>
> Hi Ralf,
>
> I’ll explain my question a bit further. A while ago, I switched
> from Horde 5 (which I’d been using for many years) to Horde 6. I
> was actually forced to do so because PHP 7 was causing increasing
> problems when used with other software. The transition was far
> from smooth. Perhaps this was also due to my lack of familiarity
> with composer and Horde 6. Ultimately, I now have a stable Debian
> system, Trixie (13.4), running PHP 8.4. I’m using Nginx 1.26 and
> PHP-FPM.
>
> There were still a few PHP errors with Horde/nginx, but it works.
> The issues I’ve been having over the past few weeks are related to
> Kronolith/DAV. The DAV calendars in Thunderbird are out of sync.
> The times keep shifting. A while back, this was caused by a
> Thunderbird bug in the local caching of the calendar. After
> updating to a new version of Thunderbird, the problem seemed to be
> resolved. In recent weeks, the problem has returned, much to the
> annoyance of the few users I still support. Appointments made via
> the web interface or the ActiveSync client do work properly. My
> first thought was that the existing rewrite rules in the Nginx
> configuration were no longer sufficient. After further
> consideration, I don’t actually think that’s the case.
>
> I suspect there's an issue with the time zone between Thunderbird
> and Kronolith. To troubleshoot the issue again, I decided to start
> by updating the Horde 6 environment. It seems that the developers
> are working very hard to achieve a stable Horde 6 environment. So
> I ran a "composer update". Immediately after that, the DAV
> synchronization stopped working.
>
> Since I have the chance to give some context 🙂: first, a few
> questions about the Horde 6 update. I did:
>
> composer require horde/kronolith dev-FRAMEWORK_6_0
> composer update
>
> Next, if you check using "composer outdated", you’ll see that
> there are some modules that aren’t updated automatically. The
> first question is: is it a good idea or not to also update
> “horde/horde-installer-plugin”, “sabre/event”, “sabre/http”,
> “sabre/uri”, and “sabre/xml”? I believe that Sabre is the basis
> for DAV functionality. Since it doesn't update automatically via
> “composer update,” I'm not sure if updating these modules is a
> good idea. If the sabre modules need to be updated, it is not
> clear to me how that should be done. A simple composer
> update sabre/event doesn't update anything.
>
> There are no real messages why DAV synchronization stopped
> working. Debug in horde is E_ALL but I don't see errors. Not in
> nginx logging nor horde logging.
>
> Two errors, but they are not new:
>
> (1) after a request for syncing calander:
>
> 2026/03/27 09:47:43 [error] 2843694#2843694: *172335 readv() failed
> (104: Connection reset by peer) while reading upstream, client: 12.34.56.78, server:aa.bb.cc <http://aa.bb.cc>, request:"PUT
> /horde/rpc/calendars/user at domain.xy/calendar~aFTuBIgXZjXzg2GLq54ZNg3/04a82709-de6c-4f8e-ba33-5f1022ddf8df.ics
> HTTP/2.0" <mailto:PUT/horde/rpc/calendars/user at domain.xy/calendar~aFTuBIgXZjXzg2GLq54ZNg3/04a82709-de6c-4f8e-ba33-5f1022ddf8df.icsHTTP/2.0>, upstream: "fastcgi://unix:/run/php/php8.4-fpm.sock:",
> host: "aa.bb.cc <http://aa.bb.cc>"
>
> (2) Activesync heartbeat (I think)
>
> 2026/03/27 00:27:24 [error] 2843696#2843696: *118314 upstream timed out (110: Connection timed out) while reading
> response header from upstream, client: 12.34.56.78, server:aa.bb.cc <http://aa.bb.cc>, request:
> "POST /Microsoft-Server-ActiveSync?Cmd=Ping&User=user%40domain.xy&DeviceId=androidc123456&DeviceType=Android HTTP/1.1",
> upstream: "fastcgi://unix:/run/php/php8.4-fpm.sock", host: "aa.bb.cc <http://aa.bb.cc>"
>
> On my Android device with a DAV client (DAVx5) I see a new error.
> The client won't sync and the debug information shows:
>
> HTTP REQUEST
> PUThttps://aa.bb.cc/horde/rpc/calendars/user@domain.xy/calendar~aFTuBIgXZjXzg2GLq54ZNg3/04a82709-de6c-4f8e-ba33-5f1022ddf8df.ics
>
> HTTP RESPONSE
> <?xml version="1.0" encoding="utf-8"?>
> <d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns" <http://sabredav.org/ns>>
> <s:sabredav-version>4.7.0</s:sabredav-version>
> <s:exception>Sabre\DAV\Exception</s:exception>
> <s:message>Circular dependency detected: Kronolith_Geo → Kronolith_Geo</s:message>
> </d:error>
>
> Before I can return to the problem with the incorrect hours in
> Thunderbird calender syncing must be working. I need help with
> the syncing problem because I can't find with is wrong and/or why.
>
> When syncing is ok again I return to the Thunderbird calendar
> problem. I suppose it is a timezone problem between cache and DAV
> sync. But I'm not sure.
>
> Sorry, quite a long story.
>
> Op 27-3-2026 om 05:13 schreef Ralf Lang:
>> Hello Ruud,
>>
>> can you provide some context? When you manually hit horde/rpc.php
>> or /horde/rpc/ and enter your credentials what exactly happens or
>> is shown?
>>
>>
>> On Thu, Mar 26, 2026 at 3:37 PM Ruud Baart <r.j.baart at prompt.nl>
>> wrote:
>>
>> Hi,
>>
>> Horde 6 + nginx has been working reasonably well over the
>> past few
>> weeks. No major issues. However kronolith gives me some
>> problems, I
>> think there are time zone problems again. Possibly caused by
>> Thunderbird.
>>
>> To solve these problems, I started with “composer update”
>> yesterday.
>> Thing got worse and now the DAV isn't working properly
>> anymore. It seems
>> to me that my rewrite rules in nginx.conf are no longer correct.
>> Apparently, something has changed.
>>
>> I'd like to see a current, working nginx configuration to
>> compare it
>> with what I have. Maybe that will help me solve the problem.
>>
>>
>> Ruud Baart
>>
>> --
>> Horde mailing list
>> Frequently Asked Questions: http://horde.org/faq/
>> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
>>
--
Cordialement,
*
R.J. Baart
Portable: +33 7 88398245
*
More information about the horde
mailing list