Hi Shiva and Julien,
May I know how you resolve this issue at last ?
I am just facing the same requirement.
I am developing a reverse proxy which will forward users' requests to Elasticsearch. This reverse proxy can do some throttling to avoid elasticsearch overload, as well as some statistics.
The implementation is simple, will create an io.vertx.ext.web.client.HttpRequest object and append all the headers from original requests and invoke the
vert.x HttpRequest's sendBuffer function to send the request to elasticsearch. When got the response just return the response to users.
The users' original requests have headers of aws sign auth tokens for resource based access control of elasticsearch.
But now, I have to implement some own aws sign to let the reverse proxy can skip the elasticsearch domain access policy (sign for a role that have es:* permission on the domain), for this requirement, I need to sign some kind of the user's requests. But I don't want to use the elasticsearch rest client, that will add performance overhead and also impact my current design. Just want to sign the
io.vertx.ext.web.client.HttpRequest by
AWSRequestSigningApacheInterceptor by cannot find a way.
Thanks a lot.
Bruce