Just leaving this here in case anyone else encounters this issue:
I'm building a rather complex easyform with many conditionals. While updating the form that I developed on my local instance to the production server, I noticed that it would not take the updated XML that worked for me locally.
nginx is running in a docker container and logs the request as
10.0.0.245 - - [20/Mar/2025:15:15:26 +0000] "-" 000 0 "-" "-"
Plone never receives it. The nginx config is as vanilla as it gets:
server {
listen 443 ssl http2;
ssl_certificate /etc/ssl/private/mein.pnz.de-chain.pem;
ssl_certificate_key /etc/ssl/private/mein.pnz.de-key.pem;
server_name mein.pnz.de;
access_log /var/log/nginx/plone6.pnz.de.access.log;
error_log /var/log/nginx/plone6.pnz.de.error.log;
proxy_http_version 1.1;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_send_timeout 300;
# https://docs.nginx.com/nginx/admin-guide/web-server/compression/
# text/html is always compressed by HttpGzipModule
gzip on;
gzip_types text/css
text/csv
text/plain
application/javascript
application/json
application/xml;
gzip_proxied no-cache no-store private expired auth;
gzip_min_length 1000;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://plone-backend/VirtualHostBase/https/mein.pnz.de:443/Plone/VirtualHostRoot/;
client_max_body_size 25M;
}
}
Have not finished my triage of this error, but know that "simple" forms can be submitted just fine. I validated my XML using Geany's Prettyprint XML plugin, VSCode, and running it by ChatGPT.
Will add more info as I continue debugging and hopefully post a followup in case I find a solution.