diff --git a/docs/changes.xml b/docs/changes.xml
index c1cf96d27..c62042aa2 100644
--- a/docs/changes.xml
+++ b/docs/changes.xml
@@ -49,6 +49,15 @@ ability to specify a custom index file name when serving static files.
+
+
+added new "header_buffer_size", "large_header_buffer_size",
+"large_header_buffers", "proxy_buffer_size", "proxy_header_buffer_size",
+"proxy_timeout", "proxy_send_timeout" and "proxy_read_timeout" options for
+"settings.http".
+
+
+
variables support in the "location" option of the "return" action.
diff --git a/src/nxt_conf_validation.c b/src/nxt_conf_validation.c
index ee7ebe44d..99aa1bf2c 100644
--- a/src/nxt_conf_validation.c
+++ b/src/nxt_conf_validation.c
@@ -305,12 +305,36 @@ static nxt_conf_vldt_object_t nxt_conf_vldt_http_members[] = {
}, {
.name = nxt_string("max_body_size"),
.type = NXT_CONF_VLDT_INTEGER,
+ }, {
+ .name = nxt_string("header_buffer_size"),
+ .type = NXT_CONF_VLDT_INTEGER,
+ }, {
+ .name = nxt_string("large_header_buffer_size"),
+ .type = NXT_CONF_VLDT_INTEGER,
+ }, {
+ .name = nxt_string("large_header_buffers"),
+ .type = NXT_CONF_VLDT_INTEGER,
}, {
.name = nxt_string("body_temp_path"),
.type = NXT_CONF_VLDT_STRING,
}, {
.name = nxt_string("discard_unsafe_fields"),
.type = NXT_CONF_VLDT_BOOLEAN,
+ }, {
+ .name = nxt_string("proxy_buffer_size"),
+ .type = NXT_CONF_VLDT_INTEGER,
+ }, {
+ .name = nxt_string("proxy_header_buffer_size"),
+ .type = NXT_CONF_VLDT_INTEGER,
+ }, {
+ .name = nxt_string("proxy_timeout"),
+ .type = NXT_CONF_VLDT_INTEGER,
+ }, {
+ .name = nxt_string("proxy_send_timeout"),
+ .type = NXT_CONF_VLDT_INTEGER,
+ }, {
+ .name = nxt_string("proxy_read_timeout"),
+ .type = NXT_CONF_VLDT_INTEGER,
}, {
.name = nxt_string("websocket"),
.type = NXT_CONF_VLDT_OBJECT,
diff --git a/src/nxt_router.c b/src/nxt_router.c
index 3a32a3637..be1d93d6c 100644
--- a/src/nxt_router.c
+++ b/src/nxt_router.c
@@ -1449,6 +1449,36 @@ static nxt_conf_map_t nxt_router_http_conf[] = {
NXT_CONF_MAP_INT8,
offsetof(nxt_socket_conf_t, discard_unsafe_fields),
},
+
+ {
+ nxt_string("proxy_buffer_size"),
+ NXT_CONF_MAP_SIZE,
+ offsetof(nxt_socket_conf_t, proxy_buffer_size),
+ },
+
+ {
+ nxt_string("proxy_header_buffer_size"),
+ NXT_CONF_MAP_SIZE,
+ offsetof(nxt_socket_conf_t, proxy_header_buffer_size),
+ },
+
+ {
+ nxt_string("proxy_timeout"),
+ NXT_CONF_MAP_MSEC,
+ offsetof(nxt_socket_conf_t, proxy_timeout),
+ },
+
+ {
+ nxt_string("proxy_send_timeout"),
+ NXT_CONF_MAP_MSEC,
+ offsetof(nxt_socket_conf_t, proxy_send_timeout),
+ },
+
+ {
+ nxt_string("proxy_read_timeout"),
+ NXT_CONF_MAP_MSEC,
+ offsetof(nxt_socket_conf_t, proxy_read_timeout),
+ },
};