diff options
| author | Roman Arutyunyan <arut@nginx.com> | 2024-02-21 17:36:02 +0400 |
|---|---|---|
| committer | Roman Arutyunyan <arut@nginx.com> | 2024-02-21 17:36:02 +0400 |
| commit | a168b810e23627070271dc8bab61cfd6f0caddd7 (patch) | |
| tree | 08a97e432ca6307fa52d73e387b9d0da660540c7 /auto | |
| parent | d21675228a0ba8d4331e05c60660228a5d3326de (diff) | |
| download | nginx-a168b810e23627070271dc8bab61cfd6f0caddd7.tar.gz nginx-a168b810e23627070271dc8bab61cfd6f0caddd7.tar.bz2 | |
Stream: ngx_stream_pass_module.
The module allows to pass connections from Stream to other modules such as HTTP
or Mail, as well as back to Stream. Previously, this was only possible with
proxying. Connections with preread buffer read out from socket cannot be
passed.
The module allows selective SSL termination based on SNI.
stream {
server {
listen 8000 default_server;
ssl_preread on;
...
}
server {
listen 8000;
server_name foo.example.com;
pass 127.0.0.1:8001; # to HTTP
}
server {
listen 8000;
server_name bar.example.com;
...
}
}
http {
server {
listen 8001 ssl;
...
location / {
root html;
}
}
}
Diffstat (limited to 'auto')
| -rw-r--r-- | auto/modules | 10 | ||||
| -rw-r--r-- | auto/options | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/auto/modules b/auto/modules index 300d07cc2..1a5e4212d 100644 --- a/auto/modules +++ b/auto/modules @@ -1166,6 +1166,16 @@ if [ $STREAM != NO ]; then . auto/module fi + if [ $STREAM_PASS = YES ]; then + ngx_module_name=ngx_stream_pass_module + ngx_module_deps= + ngx_module_srcs=src/stream/ngx_stream_pass_module.c + ngx_module_libs= + ngx_module_link=$STREAM_PASS + + . auto/module + fi + if [ $STREAM_SET = YES ]; then ngx_module_name=ngx_stream_set_module ngx_module_deps= diff --git a/auto/options b/auto/options index 552ef837e..6a6e990a0 100644 --- a/auto/options +++ b/auto/options @@ -127,6 +127,7 @@ STREAM_GEOIP=NO STREAM_MAP=YES STREAM_SPLIT_CLIENTS=YES STREAM_RETURN=YES +STREAM_PASS=YES STREAM_SET=YES STREAM_UPSTREAM_HASH=YES STREAM_UPSTREAM_LEAST_CONN=YES @@ -337,6 +338,7 @@ use the \"--with-mail_ssl_module\" option instead" --without-stream_split_clients_module) STREAM_SPLIT_CLIENTS=NO ;; --without-stream_return_module) STREAM_RETURN=NO ;; + --without-stream_pass_module) STREAM_PASS=NO ;; --without-stream_set_module) STREAM_SET=NO ;; --without-stream_upstream_hash_module) STREAM_UPSTREAM_HASH=NO ;; @@ -556,6 +558,7 @@ cat << END --without-stream_split_clients_module disable ngx_stream_split_clients_module --without-stream_return_module disable ngx_stream_return_module + --without-stream_pass_module disable ngx_stream_pass_module --without-stream_set_module disable ngx_stream_set_module --without-stream_upstream_hash_module disable ngx_stream_upstream_hash_module |
