【发布时间】:2016-02-18 03:37:53
【问题描述】:
我正在尝试设置一个 FTP 子域,以便所有传入的 SFTP 请求(例如)ftp.myname.com 都通过端口 22 路由到特定的内部服务器(例如)10.123.456。
如何使用 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 .............
}
如何定义返回字符串以使用密码路由流量?
连接是 SFTP(通过端口 22)。
谢谢
【问题讨论】:
-
请注意:sftp 使用 ssh-server 连接。如果您将 nginx 定义为侦听端口 22,则它需要到此端口的 http / https 连接。在我个人看来,您不能将发送到 nginx 的 sftp 请求转发到 ssh-server。检查您的服务侦听的端口,因此 ssh-server(用于 sftp 连接)可能已经在 port22 上侦听以接受连接。您可以通过 ufw 限制到端口 22 的连接。要获得一个只监听 22 端口的特殊子域,其他人可能会提供帮助。