我试图设置一个FTP子域,这样所有传入的SFTP请求(比如说)ftp.myname.com都会通过端口22路由到特定的内部服务器(比如)10.123.456。 / p>
如何使用nginx路由此流量?
我已经设置了SFTP服务器,可以直接SFTP到服务器,比如说:
sftp username@123.456.7890,工作正常。
问题在于,当我设置nginx将所有流量路由到ftp.myname.com时,它会连接,但密码会被拒绝。我没有问题将网络流量路由到我的其他子域名,例如dev.myname.com(带密码),但它不适用于SFTP流量:
server {
listen 22;
server_name ftp.myname.com;
return .............
}
如何定义返回sting以使用密码路由流量?
连接是SFTP(通过端口22)。
由于
答案 0 :(得分:1)
问@peixotorms:是的,可以。 nginx可以代理/负载均衡http以及tcp和upd流量,请参阅nginx流模块文档(在nginx main documentation page处,尤其是stream core module's documentation。)
答案 1 :(得分:0)
你不能在nginx(仅限http)上执行此操作,你必须使用像HaProxy这样的东西和一个指向服务器ip的子域的简单dns记录。
一些信息:http://jpmorris-iso.blogspot.pt/2013/01/load-balancing-openssh-sftp-with-haproxy.html