stream {
upstream backend {
server backend1.example.com:12345;
server backend2.example.com:12345;
}
server {
listen 12345;
proxy_pass backend;
proxy_timeout 3s;
proxy_connect_timeout 1s;
}
}
TCP 代理说明:
proxy_timeout 3s:设置代理超时时间为 3 秒proxy_connect_timeout 1s:设置连接超时时间为 1 秒TCP 代理原理:
proxy_timeout 指令用于设置代理超时时间,proxy_connect_timeout 指令用于设置连接超时时间。
stream {
upstream dns {
server 192.168.0.1:53;
server 192.168.0.2:53;
}
server {
listen 53 udp reuseport;
proxy_pass dns;
proxy_timeout 1s;
proxy_responses 1;
error_log /var/log/nginx/dns.log info;
}
}
UDP 代理说明:
proxy_timeout 1s:设置代理超时时间为 1 秒proxy_responses 1:设置响应数量为 1error_log /var/log/nginx/dns.log info:设置错误日志文件和日志级别UDP 代理原理:
proxy_timeout 指令用于设置代理超时时间,proxy_responses 指令用于设置响应数量,error_log 指令用于设置错误日志文件和日志级别。
| 指令 | 说明 | 示例 |
|---|---|---|
proxy_timeout | 代理超时 | proxy_timeout 3s |
proxy_connect_timeout | 连接超时 | proxy_connect_timeout 1s |
proxy_responses | 响应数量 | proxy_responses 1 |
error_log | 错误日志 | error_log /var/log/nginx/dns.log info |
stream {
upstream backend {
server backend1.example.com:12345 weight=5;
server backend2.example.com:12345;
server 192.0.0.1:12345 max_fails=3 fail_timeout=30s;
}
server {
listen 12345;
proxy_pass backend;
proxy_timeout 3s;
proxy_connect_timeout 1s;
}
}
配置示例说明:
weight=5:设置后端服务器的权重为 5max_fails=3:设置最大失败次数为 3fail_timeout=30s:设置失败超时时间为 30 秒配置示例原理:
weight 指令用于设置后端服务器的权重,max_fails 指令用于设置最大失败次数,fail_timeout 指令用于设置失败超时时间。