Update doc
This commit is contained in:
parent
97b36b8c74
commit
9a6b623c25
32
README.rst
32
README.rst
|
@ -841,7 +841,7 @@ information. Here is sample output from ``nghttpd``:
|
|||
nghttpx - proxy
|
||||
+++++++++++++++
|
||||
|
||||
``nghttpx`` is a multi-threaded reverse proxy for HTTP/2, and
|
||||
``nghttpx`` is a multi-threaded reverse proxy for HTTP/3, HTTP/2, and
|
||||
HTTP/1.1, and powers http://nghttp2.org and supports HTTP/2 server
|
||||
push.
|
||||
|
||||
|
@ -862,16 +862,16 @@ ticket keys among multiple ``nghttpx`` instances via memcached.
|
|||
|
||||
``nghttpx`` has 2 operation modes:
|
||||
|
||||
================== ================ ================ =============
|
||||
Mode option Frontend Backend Note
|
||||
================== ================ ================ =============
|
||||
default mode HTTP/2, HTTP/1.1 HTTP/1.1, HTTP/2 Reverse proxy
|
||||
``--http2-proxy`` HTTP/2, HTTP/1.1 HTTP/1.1, HTTP/2 Forward proxy
|
||||
================== ================ ================ =============
|
||||
================== ======================== ================ =============
|
||||
Mode option Frontend Backend Note
|
||||
================== ======================== ================ =============
|
||||
default mode HTTP/3, HTTP/2, HTTP/1.1 HTTP/1.1, HTTP/2 Reverse proxy
|
||||
``--http2-proxy`` HTTP/3, HTTP/2, HTTP/1.1 HTTP/1.1, HTTP/2 Forward proxy
|
||||
================== ======================== ================ =============
|
||||
|
||||
The interesting mode at the moment is the default mode. It works like
|
||||
a reverse proxy and listens for HTTP/2, and HTTP/1.1 and can be
|
||||
deployed as a SSL/TLS terminator for existing web server.
|
||||
a reverse proxy and listens for HTTP/3, HTTP/2, and HTTP/1.1 and can
|
||||
be deployed as a SSL/TLS terminator for existing web server.
|
||||
|
||||
In all modes, the frontend connections are encrypted by SSL/TLS by
|
||||
default. To disable encryption, use the ``no-tls`` keyword in
|
||||
|
@ -889,16 +889,16 @@ server:
|
|||
|
||||
.. code-block:: text
|
||||
|
||||
Client <-- (HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/1.1, HTTP/2) --> Web Server
|
||||
[reverse proxy]
|
||||
Client <-- (HTTP/3, HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/1.1, HTTP/2) --> Web Server
|
||||
[reverse proxy]
|
||||
|
||||
With the ``--http2-proxy`` option, it works as forward proxy, and it
|
||||
is so called secure HTTP/2 proxy:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
Client <-- (HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/1.1) --> Proxy
|
||||
[secure proxy] (e.g., Squid, ATS)
|
||||
Client <-- (HTTP/3, HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/1.1) --> Proxy
|
||||
[secure proxy] (e.g., Squid, ATS)
|
||||
|
||||
The ``Client`` in the above example needs to be configured to use
|
||||
``nghttpx`` as secure proxy.
|
||||
|
@ -930,7 +930,7 @@ proxy through an HTTP proxy:
|
|||
|
||||
.. code-block:: text
|
||||
|
||||
Client <-- (HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/2) --
|
||||
Client <-- (HTTP/3, HTTP/2, HTTP/1.1) --> nghttpx <-- (HTTP/2) --
|
||||
|
||||
--===================---> HTTP/2 Proxy
|
||||
(HTTP proxy tunnel) (e.g., nghttpx -s)
|
||||
|
@ -938,8 +938,8 @@ proxy through an HTTP proxy:
|
|||
Benchmarking tool
|
||||
-----------------
|
||||
|
||||
The ``h2load`` program is a benchmarking tool for HTTP/2. The UI of
|
||||
``h2load`` is heavily inspired by ``weighttp``
|
||||
The ``h2load`` program is a benchmarking tool for HTTP/3, HTTP/2, and
|
||||
HTTP/1.1. The UI of ``h2load`` is heavily inspired by ``weighttp``
|
||||
(https://github.com/lighttpd/weighttp). The typical usage is as
|
||||
follows:
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ Default mode
|
|||
|
||||
If nghttpx is invoked without :option:`--http2-proxy`, it operates in
|
||||
default mode. In this mode, it works as reverse proxy (gateway) for
|
||||
both HTTP/2 and HTTP/1 clients to backend servers. This is also known
|
||||
as "HTTP/2 router".
|
||||
both HTTP/3, HTTP/2 and HTTP/1 clients to backend servers. This is
|
||||
also known as "HTTP/2 router".
|
||||
|
||||
By default, frontend connection is encrypted using SSL/TLS. So
|
||||
server's private key and certificate must be supplied to the command
|
||||
|
@ -28,6 +28,9 @@ the frontend, and an HTTP/1 connection can be upgraded to HTTP/2 using
|
|||
HTTP Upgrade. Starting HTTP/2 connection by sending HTTP/2 connection
|
||||
preface is also supported.
|
||||
|
||||
In order to receive HTTP/3 traffic, use ``quic`` parameter in
|
||||
:option:`--frontend` option (.e.g, ``--frontend='*,443;quic'``)
|
||||
|
||||
nghttpx can listen on multiple frontend addresses. This is achieved
|
||||
by using multiple :option:`--frontend` options. For each frontend
|
||||
address, TLS can be enabled or disabled.
|
||||
|
@ -509,6 +512,8 @@ Bootstrapping WebSockets with HTTP/2 for both frontend and backend
|
|||
connections. This feature is enabled by default and no configuration
|
||||
is required.
|
||||
|
||||
WebSockets over HTTP/3 is also supported.
|
||||
|
||||
HTTP/3
|
||||
------
|
||||
|
||||
|
|
|
@ -1965,7 +1965,7 @@ void print_version(std::ostream &out) {
|
|||
namespace {
|
||||
void print_usage(std::ostream &out) {
|
||||
out << R"(Usage: nghttpx [OPTIONS]... [<PRIVATE_KEY> <CERT>]
|
||||
A reverse proxy for HTTP/2, and HTTP/1.)"
|
||||
A reverse proxy for HTTP/3, HTTP/2, and HTTP/1.)"
|
||||
<< std::endl;
|
||||
}
|
||||
} // namespace
|
||||
|
|
Loading…
Reference in New Issue