使用Nginx反向代理 filezilla ftp服务,配置PASV 解决ftp 227错误

前言

问题环境:

使用filezilla搭建ftp服务,IP:192.168.10.1:21

使用nginx反向代理,IP:192.168.10.11

遇到227 Entering Passive Mode(xxx,xxx,xxx,xxx,xxx,xxx,xxx)错误,或425 Can’t open data connection for transfer of "/"错误。

主要方式是通过filezilla server Interface对被动模式PASV进行配置来解决。
ftp的主动模式及被动模式的理论自行百度吧~

一、filezilla server 部署ftp(略)

filezilla客户端及服务端下载地址

最近更新有中文版,服务端一路确定即可。

二、配置Nginx

编辑nginx主目录/conf/nginx.conf文件

stream {
	upstream ftp{
		hash $remote_addr consistent;
		# server 192.168.10.1:21;(此处为ftp服务ip端口)
		server 192.168.10.1:21;
	}
	server {
		# listen 21;(监听端口,除已用端口的任意端口)
		listen 21;
		proxy_connect_timeout 10s;
		proxy_timeout 10s;
		proxy_pass ftp;
	}
}

nginx代理配置完毕,使用客户端登录会报227错误

三、配置ftp服务端被动模式PASV

Windows

找到配置页面
在这里插入图片描述
在这里插入图片描述

  • 第一步,将数据端口范围调整至固定较小的几个,例如:3000-3001(看自己,闲的不行可以多搞一些,目前不清楚有什么用 =-=!)
    在这里插入图片描述

  • 第二步,将公网IP设置为Nginx服务IP
    在这里插入图片描述

  • 第三步,取消勾选不使用公网IP
    在这里插入图片描述

  • 第四步,点击OK

  • 第五步,在Nginx配置文件stream层加入新的端口

stream {
	upstream ftp{
		hash $remote_addr consistent;
		# server 192.168.10.1:21;(此处为ftp服务ip端口)
		server 192.168.10.1:21;
	}
	server {
		# listen 21;(监听端口,除已用端口的任意端口)
		listen 21;
		proxy_connect_timeout 10s;
		proxy_timeout 10s;
		proxy_pass ftp;
	}

# 以下为新增数据端口
	upstream ftp3000{
		hash $remote_addr consistent;
		server 192.168.10.1:21;
	}
	server {
		listen 3000;
		proxy_connect_timeout 10s;
		proxy_timeout 10s;
		proxy_pass ftp3000;
	}
	upstream ftp3001{
		hash $remote_addr consistent;
		server 192.168.10.1:21;
	}
	server {
		listen 3001;
		proxy_connect_timeout 10s;
		proxy_timeout 10s;
		proxy_pass ftp3001;
	}
}

到此应该没有问题了

linux

步骤差不多,不同的是找到filezillasever的配置文件:FileZilla Server.xml,找到如下片段进行修改。

        <Item name="Custom PASV IP type" type="numeric">1</Item>
        <Item name="Custom PASV IP" type="string">192.168.10.11</Item>
        <Item name="Custom PASV min port" type="numeric">3000</Item>
        <Item name="Custom PASV max port" type="numeric">3001</Item>
        <Item name="Use custom PASV ports" type="numeric">1</Item>

原创,转载请表明出处。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值