Pass#

允许将已接受的连接直接传递到在 HTTPStreamMail 模块中配置的任何监听套接字。

该模块允许基于 SNI 执行选择性的 SSL 终止。

配置示例#

stream 模块处理 SSL/TLS 终止后,连接被转发到 http 模块:

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;
        }
    }
}

指令#

pass#

Syntax

pass address;

默认

Context

server

该指令设置客户端连接应传递到的服务器地址。address 可以作为 IP 地址和端口给出:

pass 127.0.0.1:12345;

或者作为 UNIX 域套接字的路径:

pass unix:/tmp/stream.socket;

此外,address 也可以用变量设置:

pass $upstream;