mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Regenerated rst docs
Signed-off-by: Tero Saarni <tero.saarni@est.tech>
This commit is contained in:
parent
6d70be2d1c
commit
ac8bc3a455
@ -310,8 +310,6 @@ file format.
|
|||||||
``logconfig_dict``
|
``logconfig_dict``
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
**Command line:** ``--log-config-dict``
|
|
||||||
|
|
||||||
**Default:** ``{}``
|
**Default:** ``{}``
|
||||||
|
|
||||||
The log config dictionary to use, using the standard Python
|
The log config dictionary to use, using the standard Python
|
||||||
@ -332,7 +330,7 @@ For more context you can look at the default configuration dictionary for loggin
|
|||||||
|
|
||||||
**Command line:** ``--log-syslog-to SYSLOG_ADDR``
|
**Command line:** ``--log-syslog-to SYSLOG_ADDR``
|
||||||
|
|
||||||
**Default:** ``'unix:///var/run/syslog'``
|
**Default:** ``'udp://localhost:514'``
|
||||||
|
|
||||||
Address to send syslog messages.
|
Address to send syslog messages.
|
||||||
|
|
||||||
@ -925,15 +923,18 @@ The callable needs to accept a single instance variable for the Arbiter.
|
|||||||
|
|
||||||
.. code-block:: python
|
.. code-block:: python
|
||||||
|
|
||||||
def ssl_context(config):
|
def ssl_context(config, default_ssl_context_factory):
|
||||||
return None
|
return default_ssl_context_factory()
|
||||||
|
|
||||||
Called when SSLContext is needed.
|
Called when SSLContext is needed.
|
||||||
|
|
||||||
Allows fully customized SSL context to be used in place of the default
|
Allows fully customized SSL context to be used in place of the default
|
||||||
context.
|
context.
|
||||||
|
|
||||||
The callable needs to accept a single instance variable for the Config.
|
The callable needs to accept an instance variable for the Config and
|
||||||
|
a factory function that returns default SSLContext which is initialized
|
||||||
|
with certificates, private key, cert_reqs, and ciphers according to
|
||||||
|
config and can be further customized by the callable.
|
||||||
The callable needs to return SSLContext object.
|
The callable needs to return SSLContext object.
|
||||||
|
|
||||||
Server Mechanics
|
Server Mechanics
|
||||||
@ -1000,8 +1001,6 @@ Set the ``SO_REUSEPORT`` flag on the listening socket.
|
|||||||
|
|
||||||
Change directory to specified directory before loading apps.
|
Change directory to specified directory before loading apps.
|
||||||
|
|
||||||
Default is the current directory.
|
|
||||||
|
|
||||||
.. _daemon:
|
.. _daemon:
|
||||||
|
|
||||||
``daemon``
|
``daemon``
|
||||||
@ -1161,10 +1160,16 @@ temporary directory.
|
|||||||
**Default:** ``{'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-PROTO': 'https', 'X-FORWARDED-SSL': 'on'}``
|
**Default:** ``{'X-FORWARDED-PROTOCOL': 'ssl', 'X-FORWARDED-PROTO': 'https', 'X-FORWARDED-SSL': 'on'}``
|
||||||
|
|
||||||
A dictionary containing headers and values that the front-end proxy
|
A dictionary containing headers and values that the front-end proxy
|
||||||
uses to indicate HTTPS requests. These tell Gunicorn to set
|
uses to indicate HTTPS requests. If the source IP is permitted by
|
||||||
|
``forwarded-allow-ips`` (below), *and* at least one request header matches
|
||||||
|
a key-value pair listed in this dictionary, then Gunicorn will set
|
||||||
``wsgi.url_scheme`` to ``https``, so your application can tell that the
|
``wsgi.url_scheme`` to ``https``, so your application can tell that the
|
||||||
request is secure.
|
request is secure.
|
||||||
|
|
||||||
|
If the other headers listed in this dictionary are not present in the request, they will be ignored,
|
||||||
|
but if the other headers are present and do not match the provided values, then
|
||||||
|
the request will fail to parse. See the note below for more detailed examples of this behaviour.
|
||||||
|
|
||||||
The dictionary should map upper-case header names to exact string
|
The dictionary should map upper-case header names to exact string
|
||||||
values. The value comparisons are case-sensitive, unlike the header
|
values. The value comparisons are case-sensitive, unlike the header
|
||||||
names, so make sure they're exactly what your front-end proxy sends
|
names, so make sure they're exactly what your front-end proxy sends
|
||||||
@ -1192,6 +1197,68 @@ you still trust the environment).
|
|||||||
By default, the value of the ``FORWARDED_ALLOW_IPS`` environment
|
By default, the value of the ``FORWARDED_ALLOW_IPS`` environment
|
||||||
variable. If it is not defined, the default is ``"127.0.0.1"``.
|
variable. If it is not defined, the default is ``"127.0.0.1"``.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
The interplay between the request headers, the value of ``forwarded_allow_ips``, and the value of
|
||||||
|
``secure_scheme_headers`` is complex. Various scenarios are documented below to further elaborate. In each case, we
|
||||||
|
have a request from the remote address 134.213.44.18, and the default value of ``secure_scheme_headers``:
|
||||||
|
|
||||||
|
.. code::
|
||||||
|
|
||||||
|
secure_scheme_headers = {
|
||||||
|
'X-FORWARDED-PROTOCOL': 'ssl',
|
||||||
|
'X-FORWARDED-PROTO': 'https',
|
||||||
|
'X-FORWARDED-SSL': 'on'
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:align: center
|
||||||
|
:widths: auto
|
||||||
|
|
||||||
|
* - ``forwarded-allow-ips``
|
||||||
|
- Secure Request Headers
|
||||||
|
- Result
|
||||||
|
- Explanation
|
||||||
|
* - .. code::
|
||||||
|
|
||||||
|
["127.0.0.1"]
|
||||||
|
- .. code::
|
||||||
|
|
||||||
|
X-Forwarded-Proto: https
|
||||||
|
- .. code::
|
||||||
|
|
||||||
|
wsgi.url_scheme = "http"
|
||||||
|
- IP address was not allowed
|
||||||
|
* - .. code::
|
||||||
|
|
||||||
|
"*"
|
||||||
|
- <none>
|
||||||
|
- .. code::
|
||||||
|
|
||||||
|
wsgi.url_scheme = "http"
|
||||||
|
- IP address allowed, but no secure headers provided
|
||||||
|
* - .. code::
|
||||||
|
|
||||||
|
"*"
|
||||||
|
- .. code::
|
||||||
|
|
||||||
|
X-Forwarded-Proto: https
|
||||||
|
- .. code::
|
||||||
|
|
||||||
|
wsgi.url_scheme = "https"
|
||||||
|
- IP address allowed, one request header matched
|
||||||
|
* - .. code::
|
||||||
|
|
||||||
|
["134.213.44.18"]
|
||||||
|
- .. code::
|
||||||
|
|
||||||
|
X-Forwarded-Ssl: on
|
||||||
|
X-Forwarded-Proto: http
|
||||||
|
- ``InvalidSchemeHeaders()`` raised
|
||||||
|
- IP address allowed, but the two secure headers disagreed on if HTTPS was used
|
||||||
|
|
||||||
.. _pythonpath:
|
.. _pythonpath:
|
||||||
|
|
||||||
``pythonpath``
|
``pythonpath``
|
||||||
@ -1364,8 +1431,9 @@ A positive integer generally in the ``2-4 x $(NUM_CORES)`` range.
|
|||||||
You'll want to vary this a bit to find the best for your particular
|
You'll want to vary this a bit to find the best for your particular
|
||||||
application's work load.
|
application's work load.
|
||||||
|
|
||||||
By default, the value of the ``WEB_CONCURRENCY`` environment variable.
|
By default, the value of the ``WEB_CONCURRENCY`` environment variable,
|
||||||
If it is not defined, the default is ``1``.
|
which is set by some Platform-as-a-Service providers such as Heroku. If
|
||||||
|
it is not defined, the default is ``1``.
|
||||||
|
|
||||||
.. _worker-class:
|
.. _worker-class:
|
||||||
|
|
||||||
@ -1528,3 +1596,4 @@ set this to a higher value.
|
|||||||
.. note::
|
.. note::
|
||||||
``sync`` worker does not support persistent connections and will
|
``sync`` worker does not support persistent connections and will
|
||||||
ignore this option.
|
ignore this option.
|
||||||
|
|
||||||
|
|||||||
@ -1509,6 +1509,8 @@ class LogConfigDict(Setting):
|
|||||||
|
|
||||||
Format: https://docs.python.org/3/library/logging.config.html#logging.config.dictConfig
|
Format: https://docs.python.org/3/library/logging.config.html#logging.config.dictConfig
|
||||||
|
|
||||||
|
For more context you can look at the default configuration dictionary for logging, which can be found at ``gunicorn.glogging.CONFIG_DEFAULTS``.
|
||||||
|
|
||||||
.. versionadded:: 19.8
|
.. versionadded:: 19.8
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user