Unify proxy server handling #25618
lagwagon667
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
In my workplace we need to use a proxy server to access the internet. Therefore I use
set http_proxy = 'http://ourproxyserver:3128';in my.duckdbrcto be able to use the ui and install extensions.I recently started playing with a local s3 storage and realized that the proxy settings make things fail for me, because the local s3 storage needs to be accessed directly and cannot be contacted via our proxy server. At first I looked if there is a
no_proxysetting in duckdb but there isn't so I temporarily removed theset http_proxy...statement so that DuckDB would have no proxy configuration at all. To my surprise, when I tried to read a file from my local s3 storage, I still got aHTTP 502from our proxy server. I then set the HTTP_PROXY option in my s3 secret explicitly to''and also tested withNULLas shown in below example, but in both cases my s3 calls from duckdb still went to our proxy server.Only then it came to mind that
httpfsmaybe does not respect Duckdb'shttp_proxyoption at all and pulls its proxy settings from the os environment and that seems to be the case (I assume theHTTP_PROXYoption in the secret can just be used to change the proxy server to something else but not to unset it). I added my s3 storage to my os'sNO_PROXYenvironment var and then was able to successfully pull data from it (I should have done this before anyway, but only had added it to my webbrowser's proxy exception list by then. Oh and yes proxy configuration is quite a mess, in my opionion).So what I take away from this little journey: It would be great, if duckdb and its (at least core) extensions would share the same proxy configuration (which means either add a
no_proxyconfiguration option to duckdb and use that along with thehttp_proxy*options, or duckdb itself must respect the defacto-standard of defining os environment vars for proxy configuraiton (HTTP_PROXY,HTTPS_PROXYandNO_PROXY, as well as the vars for username and password).If this is not possible or at least no priority I would suggest, adding a section to the docs, getting into detail how proxy configuration is pulled into
httpfs(at least to me it was not obvious that it is configured completely independent from the duck). I will gladly provide such a docs section if you think that my proposed unification will not take place in the near future :)All reactions