在Azure平台上端口就默认只开启了21端口,如果需要使用FTP上传数据就比较麻烦,但是有两个选择:
1、主动模式,将ftp限制为使用主动模式,服务器21端口是指令端口,在此模式下,客户端连接之后,服务器会固定使用20端口进行数据传输,但是主动模式不够稳定
2、被动模式,指令端口依然是21端口,被动模式需要随机打开本机的一些端口和客户端连接进行数据传输,因此可以在vsftpd.conf文件固定一个范围的端口号,然后在azure的管理平台打开端口即可。
3、vsftpd配置文件:


anonymous_enable=NO
local_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
listen=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
one_process_model=NO
chroot_local_user=YES
ftpd_banner=Welcom to my FTP server.
anon_world_readable_only=NO
guest_enable=YES
guest_username=virtual_user
pam_service_name=vsftpd.virtual
#user_sub_token=$USER
local_root=/opt/ftpsite
file_open_mode=0755
user_config_dir=/etc/vsftpd/user_conf
use_localtime=YES
#主动模式配置部分
#listen_port=21 
#listen_data_port=20
#connect_from_port_20=YES

#超时配置部分
idle_session_timeout= 90 #60秒空闲会话连接超时 
data_connection_timeout=120 #120数据传输超时 
accept_timeout= 90 #客户端自动中断时

#被动模式配置部分
listen_port=21 #指令端口号
pasv_enable=YES #YES为被动模式,NO为主动模式
pasv_min_port=30001 #在被动模式下打开的随机端口号范围,从300001--->30010
pasv_max_port=30010