小编jay*_*zee的帖子

nginx 根据端口重新路由所有数据(nginx 代理)

我对 nginx 还很陌生,我想完成这个任务。

我有两台服务器(server1 和 server2),server1 上有一个 sftp 服务器(bitvise)。在 server2 上我有一个正在运行的 nginx docker 容器。

我想配置 nginx,这样当流量到达端口 22 上的 server2 (带有 nginx 的那个)时,它会被重定向到 server1,我的 sftp 服务器所在的位置。

我有一个 dns“transfer.test.com”映射到我的 server2 公共 IP(已测试)。

这是我添加到 nginx conf 文件中的配置。

server {
 listen 22;
 server_name transfer.test.com;
 return 301 https://google.com;


 location / {
   set $sftp server1-private-ip:22;
   proxy_pass  $sftp;
  }
} 
Run Code Online (Sandbox Code Playgroud)

server1-private-ip 是 server1(带有 sftp 的服务器)的私有 IP。

但到目前为止它还不起作用。我可以使用 server1 的私有 IP 使用 filezile 连接到 sftp,但是我无法使用 server2 的私有 IP 使用 filezila 连接到 sftp,这意味着流量没有被重定向。

感谢您的帮助。

linux networking nginx docker nginx-reverse-proxy

2
推荐指数
1
解决办法
1952
查看次数

标签 统计

docker ×1

linux ×1

networking ×1

nginx ×1

nginx-reverse-proxy ×1