@DMehaffy Thank you, you were so kind as to explain the whole process in the smallest detail. I got it working with the same absolute url as the one set in nginx as server name. Now I understand better the whole process, there is a script that is being loaded in the browser, and that script should contain the full url used in a fetch call that completes the process. That script is not seen by the browser as belonging to the request host, therefore if url is /api/admin the fetch call goes elsewhere…
This is the point where website fails to complete the process if url is relative or wrong:
o = l.startsWith(o, '/') ? '' + strapi.backendURL + o : o,
i && i.params && (o = o + '?' + ac(i.params)),
i && i.body && u && (i.body = JSON.stringify(i.body)),
fetch(o, i).then(oc).then(rc).then(e=>c ? ic(e) : e)
}
Basically I don’t see any situation in where relative urls can be used to isolate the routes, so maybe not a bad idea to specify that in documentation.
I did one more test, to check if with this settings can I access the api routes only (without admin panel) from different domain (subdomain). As I expected it works! This means that the absolute url set in server.js does not count for regular api calls. Now I have anything I need, thank you again Derrick.