Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/auto
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2018-03-17 23:04:24 +0300
committerMaxim Dounin <mdounin@mdounin.ru>2018-03-17 23:04:24 +0300
commit56ad960e7a3d4cf16c03ff231616a76c4834e548 (patch)
treeda709e2fc112899539b8ba2727ef78c7fe177507 /auto
parentc67124190c9caf42c9d63b889945f73ccafa3ac6 (diff)
The gRPC proxy module.
The module allows passing requests to upstream gRPC servers. The module is built by default as long as HTTP/2 support is compiled in. Example configuration: grpc_pass 127.0.0.1:9000; Alternatively, the "grpc://" scheme can be used: grpc_pass grpc://127.0.0.1:9000; Keepalive support is available via the upstream keepalive module. Note that keepalive connections won't currently work with grpc-go as it fails to handle SETTINGS_HEADER_TABLE_SIZE. To use with SSL: grpc_pass grpcs://127.0.0.1:9000; SSL connections use ALPN "h2" when available. At least grpc-go works fine without ALPN, so if ALPN is not available we just establish a connection without it. Tested with grpc-c++ and grpc-go.
Diffstat (limited to 'auto')
-rw-r--r--auto/modules11
-rw-r--r--auto/options2
2 files changed, 13 insertions, 0 deletions
diff --git a/auto/modules b/auto/modules
index a10c42d1e..73a9bae9b 100644
--- a/auto/modules
+++ b/auto/modules
@@ -744,6 +744,17 @@ if [ $HTTP = YES ]; then
. auto/module
fi
+ if [ $HTTP_GRPC = YES -a $HTTP_V2 = YES ]; then
+ ngx_module_name=ngx_http_grpc_module
+ ngx_module_incs=
+ ngx_module_deps=
+ ngx_module_srcs=src/http/modules/ngx_http_grpc_module.c
+ ngx_module_libs=
+ ngx_module_link=$HTTP_GRPC
+
+ . auto/module
+ fi
+
if [ $HTTP_PERL != NO ]; then
ngx_module_name=ngx_http_perl_module
ngx_module_incs=src/http/modules/perl
diff --git a/auto/options b/auto/options
index 24c2618b2..25357412c 100644
--- a/auto/options
+++ b/auto/options
@@ -86,6 +86,7 @@ HTTP_PROXY=YES
HTTP_FASTCGI=YES
HTTP_UWSGI=YES
HTTP_SCGI=YES
+HTTP_GRPC=YES
HTTP_PERL=NO
HTTP_MEMCACHED=YES
HTTP_LIMIT_CONN=YES
@@ -262,6 +263,7 @@ $0: warning: the \"--with-ipv6\" option is deprecated"
--without-http_fastcgi_module) HTTP_FASTCGI=NO ;;
--without-http_uwsgi_module) HTTP_UWSGI=NO ;;
--without-http_scgi_module) HTTP_SCGI=NO ;;
+ --without-http_grpc_module) HTTP_GRPC=NO ;;
--without-http_memcached_module) HTTP_MEMCACHED=NO ;;
--without-http_limit_conn_module) HTTP_LIMIT_CONN=NO ;;
--without-http_limit_req_module) HTTP_LIMIT_REQ=NO ;;