Nginx参考手册
ngx_stream_proxy_module
ngx_stream_proxy_module
- 示例配置
- 指令
- proxy_bind
- proxy_buffer_size
- proxy_connect_timeout
- proxy_download_rate
- proxy_next_upstream
- proxy_next_upstream_timeout
- proxy_next_upstream_tries
- proxy_pass
- proxy_protocol
- proxy_responses
- proxy_ssl
- proxy_ssl_certificate
- proxy_ssl_certificate_key
- proxy_ssl_ciphers
- proxy_ssl_crl
- proxy_ssl_name
- proxy_ssl_password_file
- proxy_ssl_server_name
- proxy_ssl_session_reuse
- proxy_ssl_protocols
- proxy_ssl_trusted_certificate
- proxy_ssl_verify
- proxy_ssl_verify_depth
- proxy_timeout
- proxy_upload_rate
所述ngx_stream_proxy_module
模块(1.9.0)允许在TCP,UDP(1.9.13)和UNIX域套接字代理数据流。
示例配置
server {
listen 127.0.0.1:12345;
proxy_pass 127.0.0.1:8080;
}
server {
listen 12345;
proxy_connect_timeout 1s;
proxy_timeout 1m;
proxy_pass example.com:12345;
}
server {
listen 53 udp;
proxy_responses 1;
proxy_timeout 20s;
proxy_pass dns.example.com:53;
}
server {
listen [::1]:12345;
proxy_pass unix:/tmp/stream.socket;
}
指令
句法: |
proxy_bind地址透明| 关闭; |
---|---|
默认: |
— |
语境: |
流,服务器 |
进行到代理服务器的传出连接源自指定的本地IP address
。参数值可以包含变量(1.11.2)。该特殊值off
取消了proxy_bind
从先前配置级别继承的指令的效果,这允许系统自动分配本地IP地址。
的transparent
参数(1.11.0)允许与代理服务器传出连接从一个非本地的IP地址发起,例如,来自客户端的实际IP地址:
proxy_bind $remote_addr transparent;
为了使此参数有效,需要以超级用户权限运行nginx工作进程,并配置内核路由表以拦截来自代理服务器的网络流量。
句法: |
proxy_buffer_size大小; |
---|---|
默认: |
proxy_buffer_size 16k; |
语境: |
流,服务器 |
设置size
用于从代理服务器读取数据的缓冲区。还设置size
用于从客户端读取数据的缓冲区。
句法: |
proxy_connect_timeout时间; |
---|---|
默认: |
proxy_connect_timeout 60s; |
语境: |
流,服务器 |
定义与代理服务器建立连接的超时时间。
句法: |
proxy_download_rate率; |
---|---|
默认: |
proxy_download_rate 0; |
语境: |
流,服务器 |
限制从代理服务器读取数据的速度。在rate
被以每秒字节数指定。零值禁用速率限制。该限制是根据连接设置的,因此如果nginx同时打开到代理服务器的两个连接,整体速率将是指定限制的两倍。
句法: |
proxy_next_upstream在|上 关闭; |
---|---|
默认: |
proxy_next_upstream on; |
语境: |
流,服务器 |
当无法建立到代理服务器的连接时,确定是否将客户端连接传递给下一台服务器。
将连接传递给下一台服务器可能会受到尝试次数和时间的限制。
句法: |
proxy_next_upstream_timeout时间; |
---|---|
默认: |
proxy_next_upstream_timeout 0; |
语境: |
流,服务器 |
限制允许将连接传递到下一台服务器的时间。该0
值将关闭此限制。
句法: |
proxy_next_upstream_tries编号; |
---|---|
默认: |
proxy_next_upstream_tries 0; |
语境: |
流,服务器 |
限制将连接传递到下一台服务器的可能尝试次数。该0
值将关闭此限制。
句法: |
proxy_pass地址; |
---|---|
默认: |
— |
语境: |
服务器 |
设置代理服务器的地址。该地址可以指定为域名或IP地址,以及端口:
proxy_pass localhost:12345;
或者作为UNIX域套接字路径:
proxy_pass unix:/tmp/stream.socket;
如果域名解析为多个地址,则所有这些地址都将以循环方式使用。另外,地址可以被指定为服务器组。
地址也可以使用变量(1.11.3)指定:
proxy_pass $upstream;
在这种情况下,在所描述的服务器组中搜索服务器名称,并且如果未找到,则使用解析器来确定。
句法: |
proxy_protocol on | 关闭; |
---|---|
默认: |
proxy_protocol关闭; |
语境: |
流,服务器 |
启用PROXY协议以连接到代理服务器。
句法: |
proxy_responses编号; |
---|---|
默认: |
— |
语境: |
流,服务器 |
如果使用UDP协议,则设置代理服务器为响应客户端请求而预期的数据报数量。默认情况下,数据报的数量不受限制:响应数据报将被发送,直到proxy_timeout值到期。
句法: |
proxy_ssl在|上 关闭; |
---|---|
默认: |
proxy_ssl关闭; |
语境: |
流,服务器 |
启用SSL / TLS协议以连接到代理服务器。
句法: |
proxy_ssl_certificate文件; |
---|---|
默认: |
— |
语境: |
流,服务器 |
指定一个file
带PEM格式的证书,用于对代理服务器进行身份验证。
句法: |
proxy_ssl_certificate_key文件; |
---|---|
默认: |
— |
语境: |
流,服务器 |
指定一个file
带有PEM格式的密钥,用于对代理服务器进行身份验证。
句法: |
proxy_ssl_ciphers密码; |
---|---|
默认: |
proxy_ssl_ciphers DEFAULT; |
语境: |
流,服务器 |
指定用于连接到代理服务器的启用密码。密码以OpenSSL库理解的格式指定。
完整列表可以使用“ openssl ciphers
”命令查看。
句法: |
proxy_ssl_crl文件; |
---|---|
默认: |
— |
语境: |
流,服务器 |
指定一个file
PEM格式的撤销证书(CRL),用于验证代理服务器的证书。
句法: |
proxy_ssl_name名称; |
---|---|
默认: |
来自proxy_pass的proxy_ssl_name主机; |
语境: |
流,服务器 |
允许覆盖用于验证代理服务器证书的服务器名称,并在与代理服务器建立连接时通过SNI传递。服务器名称也可以使用变量(1.11.3)指定。
默认情况下,使用proxy_pass地址的主机部分。
句法: |
proxy_ssl_password_file文件; |
---|---|
默认: |
— |
语境: |
流,服务器 |
指定file
密码的密码,其中每个密码在单独的行上指定。加载密钥时会依次尝试密码。
句法: |
proxy_ssl_server_name在|上 关闭; |
---|---|
默认: |
proxy_ssl_server_name off; |
语境: |
流,服务器 |
在与代理服务器建立连接时,启用或禁用通过TLS服务器名称指示扩展(SNI,RFC 6066)传递服务器名称。
句法: |
在|上使用proxy_ssl_session_reuse 关闭; |
---|---|
默认: |
proxy_ssl_session_reuse on; |
语境: |
流,服务器 |
确定在使用代理服务器时是否可以重用SSL会话。如果错误“ SSL3_GET_FINISHED:digest check failed
”出现在日志中,请尝试禁用会话重用。
句法: |
proxy_ssl_protocols SSLv2 TLSv1 TLSv1.2; |
---|---|
默认: |
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2; |
语境: |
流,服务器 |
启用指定的协议以连接到代理服务器。
句法: |
proxy_ssl_trusted_certificate文件; |
---|---|
默认: |
— |
语境: |
流,服务器 |
指定file
带有用于验证代理服务器证书的PEM格式的可信CA证书。
句法: |
proxy_ssl_verify on | 关闭; |
---|---|
默认: |
proxy_ssl_verify off; |
语境: |
流,服务器 |
启用或禁用验证代理服务器证书。
句法: |
proxy_ssl_verify_depth数字; |
---|---|
默认: |
proxy_ssl_verify_depth 1; |
语境: |
流,服务器 |
设置代理服务器证书链中的验证深度。
句法: |
proxy_timeout超时; |
---|---|
默认: |
proxy_timeout 10m; |
语境: |
流,服务器 |
timeout
在客户端或代理服务器连接上设置两次连续的读取或写入操作。如果在这段时间内没有数据传输,则连接关闭。
句法: |
proxy_upload_rate率; |
---|---|
默认: |
proxy_upload_rate 0; |
语境: |
流,服务器 |
限制从客户端读取数据的速度。在rate
被以每秒字节数指定。零值禁用速率限制。限制是根据连接设置的,所以如果客户端同时打开两个连接,整体速率将是指定限制的两倍。
ngx_stream_proxy_module |
---|
Nginx是一款轻量级的 Web 服务器/反向代理服务器及电子邮件代理服务器,可在 BSD-like 协议下发行。其特点是占有内存少,并发能力强。
主页 | https://nginx.org/ |
源码 | http://hg.nginx.org/nginx |
发布版本 | 1.13.6 |