Mosaic / themefragments / Bad Gateway 502

I have made some theme fragments for a customer, but when they use one of the fragments on their site they got a 502 error when editing (They can't give me too much information at the moment). Basically, that fragment is just 9 textfields (zope.schema.TextLine).

In my own setup, it works as it should. Also if I try with Apache in front.
In their setting, with nginx, it does not.
In their setup, if I access the site by 'zope url' http://someip/Plone/somepage it works as it should.

Any suggestion on what they should look for ?
Rewrite rules
Caching setup
?

Perhaps a permission problem?

Thanks. But I dont think that is the case (they just added me as an admin and I got the same error). Since I dont have root ssl access I dont have too much info.

Plone/Zope/Python versions please?

Can't give much detail, but we've been debugging some tile rendering issues the last 12 months where plone.subrequest and VHM (the rewrite mechanism) interact in some weird way with utf-8 encodings. So this isn't theoretical.

Traceback info would be the least you need to debug this, '502' is a bit... condensed. :stuck_out_tongue:

Sorry for the lack of information, but I did not have proper access to the site.

I just got this info from my customer (see below).
I dont know Nginx, but if anyone has an idea why it works with Apache and not Nginx, please tell.

Also: Is it possible to set up Nginx so it only caches for users not logged in ?


We have just found out that when we disable the cache in Nginx everything works!

XXXX thinks it has something to do with the “expiry” date of the fragment, that this date doesn’t change which creates a problem.
Or that the response of a validation request is handled correctly.


Could it be that at some point all values for those 9 text field get serialized into the URL of the fragment, which breaks some maximum URL limit on their Nginx setup? You should see those calls on browser network inspector tab when editing.

I've don't remember when I last looked into "Expires"-header from Plone, and for what ever reason it seems to be way in the past for the URLs I tried. But

If there is a Cache-Control header with the max-age or s-maxage directive in the response, the Expires header is ignored.

Thanks a lot, that sounds like a possible reason. I will pass it on

Your other answer is a bit 'technical' for me. Are you saying that this is 'unlikely' to be the reason ?

Yes. For me it looks like if "Expires" was the reason, there should be issues with any Plone URLs, not just fragments.

Thanks