I have the following problem:
A service provides a REST API. Different kinds of clients (desktop applications, mobile applications, web applications) connect to this API and send and receive data. In front of the REST API is a web server (nginx) acting as a proxy. It is also used for load balancing. Both connections, from the clients to the web server and from the web server to the REST API are over TLS (1.2 and 1.3).
I wonder if this is sufficient for the interchange of confidential data. As I unterstand this means that there is no end to end encryption in this case. So data may be accessed from unauthorized actors at least at the web server.
If not, how to secure the interchange? Of course, I can use a symmetric encryption scheme to encrypt the data between clients and REST API and an asymmetric one for the shared key. But this smells like building my own crypto to me and leads to the problem of the certificate distribution.