当前位置: 首页 > 知识库问答 >
问题:

不允许从Azure VM访问FTP文件列表

农飞翔
2023-03-14

我有redhat linux Azure VM服务器,通过它,我试图从托管在其他窗口Azure VM上的FTP服务器获得目录列表。我可以通过FTP使用我的本地机器和filezilla连接并获得目录列表,但我得到错误的活动和被动连接通过我的redhat linux Azure VM服务器,而使用ls命令。

活动连接错误:ftp:accept:Resource暂时不可用425无法打开数据连接以传输“/”226 ABOR命令成功

被动错误:227进入被动模式(10,1,0,10160,87)ftp:connect:连接超时

这看起来更像防火墙问题,但我需要改变什么样的设置。我还在入站规则中添加了FTP端口21和数据连接端口20。

在我的Firewalld规则中列出了FTP服务。甚至所有无源连接端口也被添加。此外,我禁用Firewalld,然后尝试,但没有成功。

我需要从我的PHP页面访问这个FTP以获取上传到FTP文件夹的所有文件

谢谢

共有1个答案

严稳
2023-03-14

根据你的问题,我做了一个测试并成功了。我的FTP服务器是Azure Linux虚拟机。我的客户端是本地windows计算机。主要步骤如下:

1.在Linux虚拟机上安装vsftp。

sudo apt-get install vsftpd

2.编辑vsftp配置文件。

sudo vi /etc/vsftpd.conf

3.添加这些配置。(我选择3000和3001端口作为数据传输端口,地址是VM的公共IP)

pasv_enable=YES
pasv_min_port=3000
pasv_max_port=3001
pasv_addr_resolve=YES

4.重新启动服务。

sudo service vsftpd restart

5、进入Azure门户并添加NSG入站规则,打开20、21和数据传输端口。

6.使用cmd进行测试。

 类似资料:
  • 问题内容: 我对让Docker能够访问外部文件感兴趣,但是我不希望将它们作为卷包含在内。我需要访问的文件会随着时间变化,这意味着我将需要反复重新安装,除非我只能安装一个目录,而且该目录中的任何内容也会被安装。 我只需要允许将软件程序推送到容器中,以“在”我的本地系统上运行,该软件程序可以访问我的本地系统上的文件。 忠告?除了添加需要作为卷处理的文件之外,还有其他方法吗? 问题答案: 我用以下命令解

  • 问题内容: 我看到以下错误: 使用此代码: 是什么原因引起的,如何解决? 问题答案: 在当前域之外发出ajax请求时,Javascript是受限制的。 例1:您的域名为example.com,并且您想向test.com提出请求=>您不能。 例2:您的域名是example.com,并且您想向inner.example.com发送请求,但是您不能。 例3:您的域名为example.com:80,并且您

  • 问题内容: 我使用SQL Server Compact 3.5开发了一个应用程序(100%本地,无法访问服务器),并且在我的计算机上运行良好。但是,当我将其部署到另一台计算机上时,它显示此错误: 我部署在Windows XP计算机上。每当我尝试在数据库上写时,它都会显示此错误,但是,当我阅读时,它会起作用。 我在Windows 7计算机上进行了测试,除通过家庭组(即本地网络)访问该文件(在该文件上

  • 此url位于AWS API网关中,方法为get,stage部署良好。我在aws文档之后启用了CORS。 -资源->操作->启用CORS->默认设置->启用CORS并替换CORS头。在CORS结果中没有错误日志。 我不是profesional web开发人员,我的浏览器是Safari。 以下是我查询“http://my.com”的代码 控制台打印错误:XMLHttpRequest不能加载“http:

  • 我编写了以下applescript来打开一个文档,同时在我的文字处理器应用程序中隐藏了一些恼人的持久工具栏。当我直接从脚本编辑器播放时,效果非常好。但当我把它变成一个应用程序,并尝试在阿尔弗雷德(而不是阿尔弗雷德2)中玩时,我得到了以下信息: 哦,我尝试了比“POSIX”更普通的路线,但都带来了相同的结果。此外,我正在运行最新版本的埃尔卡皮坦。

  • 我将JSON对象存储在Amazon S3中,我想从Javascript直接从S3加载数据。我的GET看起来很普通: 我得到以下错误: 我可以使用curl从S3获取URL,或者直接从浏览器导航到S3。我真的要通过自己的服务器代理所有这些请求吗?