# nodejitsu/node-http-proxy

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nodejitsu-node-http-proxy).**

14,137 stars · 2,009 forks · JavaScript · NOASSERTION

## Links

- GitHub: https://github.com/nodejitsu/node-http-proxy
- Homepage: https://github.com/http-party/node-http-proxy
- awesome-repositories: https://awesome-repositories.com/repository/nodejitsu-node-http-proxy.md

## Description

node-http-proxy is a Node.js HTTP proxy library and toolkit used to create programmable reverse proxies, load balancers, and traffic routers. It functions as a system for forwarding HTTP and WebSocket traffic from clients to backend target servers.

The project provides capabilities for translating incoming request paths into backend addresses using programmable matching rules. It supports the creation of bidirectional tunnels to facilitate real-time communication via WebSocket proxying.

The library covers the modification of request and response headers, including the rewriting of cookies and redirects. It also enables the transformation of response data and the management of SSL certificates during the proxying process.

## Tags

### Networking & Communication

- [HTTP Reverse Proxies](https://awesome-repositories.com/f/networking-communication/http-reverse-proxies.md) — Provides a complete toolkit for building gateways that forward HTTP requests to backend servers.
- [Bidirectional Socket Communication](https://awesome-repositories.com/f/networking-communication/bidirectional-socket-communication.md) — Establishes bidirectional socket communication to maintain persistent state for WebSocket traffic.
- [Custom Traffic Routers](https://awesome-repositories.com/f/networking-communication/custom-traffic-routers.md) — Translates incoming request paths into backend target addresses using custom, programmable matching rules.
- [WebSocket Proxy Tunnels](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/communication-protocols/websocket-implementations/websocket-servers/websocket-proxy-tunnels.md) — Creates persistent bidirectional tunnels to facilitate real-time communication via WebSocket proxying. ([source](https://github.com/nodejitsu/node-http-proxy#readme))
- [Dynamic Host Resolution](https://awesome-repositories.com/f/networking-communication/dynamic-host-resolution.md) — Provides mechanisms to resolve destination server addresses at runtime for flexible traffic routing.
- [Header Rewriters](https://awesome-repositories.com/f/networking-communication/http-clients/host-header-rewriting/payload-rewriters/header-rewriters.md) — Intercepts and rewrites request and response headers to adjust hostnames and cookies.
- [HTTP Request Forwarders](https://awesome-repositories.com/f/networking-communication/http-proxies/proxy-request-routers/http-request-forwarders.md) — Implements a system to forward incoming HTTP requests to configured backend target servers.
- [Load Balancers](https://awesome-repositories.com/f/networking-communication/load-balancers.md) — Distributes network traffic across multiple backend servers to ensure high availability and resource balance.
- [Node.js Proxy Servers](https://awesome-repositories.com/f/networking-communication/node-js-proxy-servers.md) — Provides a programmable Node.js library for implementing reverse proxies and load balancers.
- [Traffic Routing Rules](https://awesome-repositories.com/f/networking-communication/traffic-routing-rules.md) — Translates incoming request paths into specific backend target addresses using predefined matching rules. ([source](https://github.com/nodejitsu/node-http-proxy#readme))

### Security & Cryptography

- [Cookie and Redirect Rewriting](https://awesome-repositories.com/f/security-cryptography/cookie-security/cookie-and-redirect-rewriting.md) — Updates hostnames, protocols, and cookie domains in response headers to maintain session consistency. ([source](https://github.com/nodejitsu/node-http-proxy#readme))

### Software Engineering & Architecture

- [Stream Piping](https://awesome-repositories.com/f/software-engineering-architecture/stream-piping.md) — Connects readable and writable network streams to transfer data between clients and servers efficiently.

### Testing & Quality Assurance

- [Response Rewriters](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/network-api-mocking/api-response-modifiers/dynamic-response-filters/http-response-filters/response-rewriters.md) — Intercepts and rewrites response content and headers from target servers in a streaming fashion. ([source](https://github.com/nodejitsu/node-http-proxy#readme))

### Web Development

- [Streaming Response Transformers](https://awesome-repositories.com/f/web-development/api-response-transformations/streaming-response-transformers.md) — Modifies incoming response data in real time by piping chunks through a transformation layer.

### Part of an Awesome List

- [HTTP Clients](https://awesome-repositories.com/f/awesome-lists/devtools/http-clients.md) — HTTP proxy implementation.
