Repository navigation
http: deal with the lack of http proxy support in node.js core. #15620
Description
Activity
- changed the title
[-]http: improve http proxy problematic[/-][+]http: deal with the lack of http proxy support in node.js core.[/+]on Sep 26, 2017 - addedhttpIssues and PRs related to the http subsystem.Issues and PRs related to the http subsystem.
on Sep 26, 2017 I'm not keen on adding HTTP proxy support in core, especially because it could be a slippery slope (e.g. people may ask to also add support for SOCKS, etc.). IMHO this is easily done in userland with a custom
http.Agent. If you want it to be more automatic for all HTTP requests, you can just overwrite thehttp.globalAgentwith your custom implementation.Reacted by Axel D., Julian, Florian Ebeling, Guilherme Henrique, afd-sanofi, Danijel Markov, Christina Sørensen, hak33m16, Jamie Cahill and Jaen- addedfeature requestIssues requesting new Node.js features.Issues requesting new Node.js features.
on Sep 26, 2017 @mscdex The point of this issue is to bikeshed this particular discussion until point
3.Old versions of Node.js will never gain http support so it would be (...)
Did you mean "never gain http proxy support"?
Reacted by Martin Heidegger#15620 (comment) Changed
I'm not sure this is the kind of implementation that people had in mind, but after reading through #8381 I wrote a tiny lib env-proxy-agent that just wraps proxy-from-env and proxy-agent.
I wasn't able to come up with a solution that could overwrite
http.globalAgentas I thinkNO_PROXYneeds to be matched against each request individually. This is probably due to my own lack of knowledge abouthttp.Agentbut if anyone has guidance on the issue that would be great.Reacted by Jan Buschtöns@crosscompile why write a separate project when you could've instead fulfilled TooTallNate/node-proxy-agent#11
Reacted by Stephan Schneider@stevenvachon thanks for pointing that out, I did not see that open issue on node-proxy-agent.
I pushed up some changes to my fork of node-proxy-agent that I'm hoping to finish up soon, will follow up in TooTallNate/node-proxy-agent#11 as it's more relevant there.
Reacted by Steven VachonReacted by Jan Buschtöns, Stephan Schneider and Per TillischOverwriting
http.globalAgentas suggest above does not work (#9057). One has to pass theagentoption to each and every request.There has been no activity on this feature request for 5 months and it is unlikely to be implemented. It will be closed 6 months after the last non-automated comment.
For more information on how the project manages feature requests, please consult the feature request management document.
- addedstalledIssues and PRs manually marked as stalled and scheduled for automatic closure.Issues and PRs manually marked as stalled and scheduled for automatic closure.
on Feb 22, 2022 - addedstaleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.Issues and PRs marked stale due to inactivity and scheduled for automatic closure.and removedstaleIssues and PRs marked stale due to inactivity and scheduled for automatic closure.Issues and PRs marked stale due to inactivity and scheduled for automatic closure.
on Feb 22, 2022 2 remaining items
There has been no activity on this feature request and it is being closed. If you feel closing this issue is not the right thing to do, please leave a comment.
For more information on how the project manages feature requests, please consult the feature request management document.
reopen please
Reacted by Steven Vachon, Josh Gavant, Filip Troníček, subinamathew, Lachlan Harris, Florian Ebeling, Guilherme Henrique, cwegener, Dave Powers, Julien Roncaglia and 14 morePretty please re-open this?
- added 2 commits that reference this issue
on Jul 18, 2025 - added 2 commits that reference this issue
on Jul 21, 2025 - added 2 commits that reference this issue
on Oct 18, 2025
This is a follow-up on #8381.
Summary:
Node's http module does not support http proxies by default. This is a unfortunate situation as libraries don't use packages for http that support http proxies and as a result quite a few tools in the Node ecosystem lack the support for http proxies (i.e. through environment variables).
It would be helpful if Node.js could support user proxies and if someone could take the time to implement it, I think the following plan could help get us there:
1.(Just reflecting the current state of affairs)1.could become part of Node.js core in order to reduce the implementation cost for current and new packages.3.in case someone is stuck with user-land code that doesn't implement proxies.