I wonder, is it possible to use such feature of "Google Cloud Endpoints" as authentication (integration with "Auth0" or "Firebase"), logs and others with backend APIs that are hosted on thirdparty servers ? I learned that "Google Cloud Endpoint" is "Extensible Service Proxy" that is based on NGINX. Does it mean that I can somehow edit nginx config and setup it as a Reverse Proxy in order to request backend APIs that are outside of Google Platform?
The announcement from https://cloudplatform.googleblog.com/2016/09/manage-your-APIs-with-Google-Cloud-Endpoints.html says that: "Google Cloud Endpoints, a distributed API management suite that lets you deploy, protect, monitor and manage APIs written in any language and running on Google Cloud Platform (GCP)"
But article from https://cloud.google.com/endpoints/docs/about-cloud-endpoints says that: "you can host your API anywhere Docker is supported so long as it has internet access to Google Cloud Platform."
There are no any examples how to customize "Extensible Service Proxy" ngnix config file in docs.
I'm little bit confused here. Is it possible to use "Google Cloud Endpoint" in a way that I described above, and if it's so how should I do it properly?
I've found that it is possible to run Extensible Service Proxy inside a docker container that accepts additional command line parameters. It allows to specify application server address to which nginx will proxy the requests and even specify path to custom nginx.conf file that will be used. That's great ! See discussion in google group for details at https://groups.google.com/forum/#!topic/google-cloud-endpoints/b0QtQoPwHzA
Yes, the ESP is designed to run anywhere, including in GCP, in another Cloud, or on your own server.
The Extensible Service Proxy is a simple nginx web server, but it uses template files. So if you make any changes to the nginx.conf file and then restart the nginx server web server, your changes will be overwritten. You need to edit the nginx template configuration file, which is in the folder /etc/nginx.