Broken dashboard with traffic-encrypting proxy
Closed this issue · 2 comments
What is the problem
We are routing http-traffic to our eXist-db instances through nginx as a proxy that also handles traffic encryption, on exist's contributed jetty all ssl-related configuration is deactivated.
While the dashboard does work when requested via http
, but yields this document when requested via https
:
<exception>
<path>/db/apps/dashboard/modules/view.xql</path>
<message>exerr:ERROR XPTY0004: The actual cardinality for parameter 1 does not match the cardinality declared in the function's signature: templates:apply($content as node()+, $resolver as function, $model as map?) item()*. Expected cardinality: one or more, got 0. [at line 38, column 22, source: /db/apps/dashboard/modules/view.xql]
In function:
templates:apply(node()+, function, map?) [38:5:/db/apps/dashboard/modules/templates.xql]
</message>
</exception>
This applies with Chromium 58.0.3029.110 as well as Firefox 54.0 on Ubuntu 16.04. curl does fine, so it may be related to some functionality that is implemented with Javascript .
The error is not evoked by our own apps, they work as expected.
Context information
Please always add the following information
- eXist-db 3.2 / 691bcd6
- openjdk 8u131
- Ubuntu 16.04
- amd64
- nginx 1.10
after upgrading from nginx 1.10.0 to 1.10.3 it works flawlessly. though i can't find any change regarding ssl termination (as we suspected). maybe it was caused by one of the http/2 bugs or a combination of such.