feat(core): Add backendProtocol option to support HTTP/2 client sessions alongside HTTP/1. This update enhances NetworkProxy's core functionality by integrating HTTP/2 support in server creation and request handling, while updating plugin exports and documentation accordingly.
This commit is contained in:
22
readme.md
22
readme.md
@ -197,7 +197,27 @@ sequenceDiagram
|
||||
- **HTTP to HTTPS Redirection** - Automatically redirect HTTP requests to HTTPS
|
||||
- **Let's Encrypt Integration** - Automatic certificate management using ACME protocol
|
||||
- **IP Filtering** - Control access with IP allow/block lists using glob patterns
|
||||
- **NfTables Integration** - Direct manipulation of nftables for advanced low-level port forwarding
|
||||
- **NfTables Integration** - Direct manipulation of nftables for advanced low-level port forwarding
|
||||
|
||||
## Configuration Options
|
||||
|
||||
### backendProtocol
|
||||
|
||||
Type: 'http1' | 'http2' (default: 'http1')
|
||||
|
||||
Controls the protocol used when proxying requests to backend services. By default, the proxy uses HTTP/1.x (`http.request`). Setting `backendProtocol: 'http2'` establishes HTTP/2 client sessions (`http2.connect`) to your backends for full end-to-end HTTP/2 support (assuming your backend servers support HTTP/2).
|
||||
|
||||
Example:
|
||||
```js
|
||||
import { NetworkProxy } from '@push.rocks/smartproxy';
|
||||
|
||||
const proxy = new NetworkProxy({
|
||||
port: 8443,
|
||||
backendProtocol: 'http2',
|
||||
// other options...
|
||||
});
|
||||
proxy.start();
|
||||
```
|
||||
- **Basic Authentication** - Support for basic auth on proxied routes
|
||||
- **Connection Management** - Intelligent connection tracking and cleanup with configurable timeouts
|
||||
- **Browser Compatibility** - Optimized for modern browsers with fixes for common TLS handshake issues
|
||||
|
Reference in New Issue
Block a user