The root cause of a problem reported on linked-data-api-discuss[1] turns out to be that in the case where the api spec does not set an api:base (and in the case where api:base is set to the empty string) Elda computes the incorrect value for the request page.
The problem lies in RouterRestlet and was introduced by commit
309611e
as part of the work to make elda responsive to forwarding headers.
The correct behaviour in these cases is for elda to use the request URI as received and to override protocol and host with values from the forwarding headers if present.
[1] https://groups.google.com/d/msg/linked-data-api-discuss/9qtbPYCAutQ/7FpxxkQoDwAJ