-
Notifications
You must be signed in to change notification settings - Fork 10.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add channel arg to enable/disable http proxy #15699
Conversation
|
|
|
@AspirinSJL can you do the primary reviewing please? |
@yashykt Sure. Looking. |
LGTM. But could you explain a bit more about how this channel arg is better than the old environment variable way? Like, how the arg is suitable to be used with IP ranges? |
Updated the PR comment. This arg does not have a value of any name/domain/address. It just disables proxy use for this channel. (Since, a channel would have a single name, it won't make much sense to accept a list of names to blacklist for proxy usage.) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
Known Issues : #15610 |
Add channel arg to enable/disable http proxy.
Feature request from #11751
Currently, the recommended approach to disable proxy is to set the no_proxy environment variable. This environment variable is not suitable to be used with IP ranges.
After this change, we would still be supporting the 'no_proxy' environment variable to disable proxy usage for those names across gRPC. The additional capability that the new channel arg would provide is that we can now disable proxy use for a particular channel. This also means that usecases that need to disable proxy use for an entire range of IPs and hence cannot use the 'no_proxy' env variable to disable proxy usage, now have an option to use this channel arg to disable proxy use.
Please note that this channel argument doesn't take the names/domains/addresses to be blacklisted. It simply disables proxy usage for this channel.
Given that we are adding an argument to disable http proxy, it might also make sense in the future to provide an argument that explicitly provides the http proxy to use. Currently, we just use the 'http_proxy' environment variable.