Azure Repository - Proxy Authentication

Dear all,
I'm running Elasticsearc 7.3.0 on Windows machines (4 nodes) and I installed the Azure Cloud Plugin on all nodes to manage snapshots in blob containers. I followed the instractions on the Elastic documentation and everything works properly.
The problem comes when I enable the proxy (that requires authentication) on all windows machines. In order to get the plugin working, I added (as by documentation), the following details in the elasticsearch.yml file of each node:

//azure.client.default.proxy.host: host_address
//azure.client.default.proxy.port: port_number
//azure.client.default.proxy.type: http

When I start the nodes and try to get the list of the snapshots in the blob container, I get the following error:

{
"error": {
"root_cause": [
{
"type": "storage_exception",
"reason": "storage_exception: Proxy Authentication Required"
}
],
"type": "no_such_element_exception",
"reason": "no_such_element_exception: An error occurred while enumerating the result, check the original exception for details.",
"caused_by": {
"type": "storage_exception",
"reason": "storage_exception: Proxy Authentication Required",
"caused_by": {
"type": "null_pointer_exception",
"reason": null
}
}
},
"status": 500
}

I also tried to store the following information in the elasticsearch key store:

//azure.client.default.proxy.username
//azure.client.default.proxy.password

but the nodes don't even start and I get the following error:

//java.lang.IllegalArgumentException: unknown secure setting [azure.client.default.proxy.password]

So the question is, how do I tell to elasticsearch to use username and password to be authenticated by the proxy?

Hi @aikon

I'm afraid the Azure repository plugin does not yet have support for authenticated proxies.
You could try to set the following system properties to override the default Java http connection proxy auth though. Disclaimer: I have not tested this, but it seems somewhat likely that it will work.

-Dhttp.proxyUser=someUserName
-Dhttp.proxyPassword=somePassword

I created an issue in the ES repo to add proxy authentication to the Azure plugin natively here:

Hi @Armin_Braun
following your suggestion I've added those two system properties accessing to the elasticsearch-service.bat manager dialog in the Java Options area for all nodes and restarted them.
However I still get the same error : Proxy Authentication Required.
Am I missing something?
Many thanks for your time

P.S.

That was really a great idea! Thanks.

No problem :slight_smile: Thanks for raising this issue.

If those Java opts show up for the jvm in the nodes api then I'm afraid you're not missing anything and the workaround doesn't work :frowning: sorry.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.