一、引言
使用Nginx代理SFTP(TCP协议):客户端 --> Nginx:stream模块 --> 后端SFTP服务器。
| IP | 描述 |
|---|---|
| 192.168.25.130 | SFTP服务器 |
| 192.168.25.131 | Nginx代理 |
| 192.168.25.132 | 客户端 |
二、详解
1、Nginx配置
dart
stream {
log_format proxy '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received '
'$session_time "$upstream_addr" '
'"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
access_log /var/log/nginx/stream.log proxy;
upstream sftp {
hash $remote_addr consistent;
# 配置SFTP服务端
server 192.168.25.130:22 max_fails=3 fail_timeout=60s;
}
# sftp代理
server {
listen 21000;
proxy_connect_timeout 300s;
proxy_timeout 300s;
proxy_pass sftp;
}
}
2、客户端验证
bash
# 格式
>> sftp -P 21000 sftp账号@Nginx节点IP
# 示例
>> sftp -P 21000 root@192.168.25.131
>> sftp -i ~/.ssh/id_rsa -P 21000 root@192.168.25.131