ftp 站点的创建实现文件的上传和下载 以及 ftp没有权限上传文件(错误:200 Type set to I)

本文介绍如何在IIS中配置FTP服务,并详细说明了如何通过浏览器访问及上传文件的过程。针对中文文件名上传失败的问题给出了具体解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当你已经配置好iis.

步骤:

一:随便在一个盘下创建一个文件bb(文件名可以自己取)我的在:D:\bb

二:进入iis


接着:


接着下一步:


接着下一步:


然后点击完成

三:进入D:\bb,新建一个文件夹


打开浏览器,输入ftp:://10.203.68.51:45  其中45是我设置的端口号,10.203.68.51是我本机的ip地址,(你需要改为你自己的),可以看到如下图:


四:双击计算机图标


地址栏上输入:ftp://10.203.68.51:45   ( ip地址和端口号改成你自己设置的)


回车,然后进入如下图:


这时候你就可以进行拖拽上传文件了

但是当我想要拖拽上传一个  以中文格式命名的文件夹得时候,产生了如下错误


解决办法:把文件名改为英文或者数字 ,下划线组成的就可以成功上传了。


原因:

 ftp协议中有些扩展字符是保留字,而有些中文字符就可能是保留字(有些中文没事),于是出现问题。尽量不要以中文的方式进行命名。

这样就可以进行上传文件了.

如果还没有解决,那么就应该考虑权限是否漏掉。

关于权限问题

 一.确保权限已经打开


比如我的是允许所有匿名用户读写


二.  如果在局域网下,从另一台机子上传,还需要关闭防火墙。



<think>嗯,用户现在的问题是关于如何使用FileZilla配置,让外网的阿里云服务器通过SFTP传输文件到家里的电脑。之前他们已经问过关于阿里云服务器ping不通家里电脑的问题,现在可能已经解决了网络连通性问题,或者想通过其他方式传输文件,比如SFTP。 首先,我需要回顾之前的对话。之前用户遇到的是ping不通的问题,可能因为安全组、防火墙、NAT或运营商限制。现在用户转向使用SFTP,这属于应用层协议,基于SSH,所以需要确保SSH端口(通常是22)在阿里云服务器上开放,并且家里电脑的SSH服务配置正确,允许外部连接。 用户的需求是让阿里云服务器作为客户端,主动连接家里的电脑作为SFTP服务器来传输文件。但通常,家庭网络的电脑没有公网IP,处于NAT后面,所以直接让阿里云服务器连接家里电脑可能不可行,需要反向连接或者内网穿透。 不过,用户的问题描述是“外网阿里云服务通过sftp文件到家里电脑”,可能需要明确方向:是阿里云作为客户端连接家里电脑的SFTP服务器,还是家里电脑作为客户端连接阿里云的SFTP服务器?根据问题描述,应该是前者,即阿里云服务作为客户端,主动连接家里的电脑,但家里电脑可能没有公网IP,所以需要内网穿透。 可能的解决方案包括: 1. 家里电脑配置为SFTP服务器,并做端口映射,使得阿里云服务器可以通过公网IP端口连接。但家庭宽带通常没有固定公网IP,且可能封锁入站连接,所以需要DDNS端口转发。 2. 使用反向代理工具,如frp、ngrok,让家里电脑建立到阿里云的反向隧道,这样阿里云可以通过本地端口访问家里电脑的SFTP服务。 3. 使用VPN建立虚拟内网,使阿里云家里电脑处于同一网络,然后直接通过内网IP进行SFTP传输。 用户提到使用FileZilla,所以可能需要指导如何在FileZilla中配置站点连接,无论是作为客户端还是服务器端。不过FileZilla主要是FTP/SFTP客户端,服务器端通常用其他软件,比如OpenSSH。 步骤可能需要包括: - 在家里电脑上安装配置SFTP服务器(比如OpenSSH Server),确保SSH服务运行,监听22端口。 - 配置家里的路由器,将22端口转发到家里电脑的内网IP端口(如果运营商允许,且家庭有公网IP)。 - 如果家庭没有公网IP,使用内网穿透工具,比如frp,在阿里云服务器上运行frp服务端,家里电脑运行frp客户端,暴露SFTP端口到阿里云,然后阿里云通过本地端口连接。 - 在阿里云服务器上安装FileZilla客户端,连接到家里电脑暴露的SFTP地址端口。 同时需要考虑安全因素,比如使用强密码、SSH密钥认证,避免暴露端口导致的安全风险。 可能用户之前已经尝试过直接连接,但由于NAT或防火墙问题无法连通,所以需要内网穿透的方法。需要详细说明每一步的操作,包括家里电脑的设置、路由器的端口转发、内网穿透工具的配置,以及FileZilla的连接方法。 另外,用户可能需要更简单的解决方案,比如使用现成的工具如TeamViewer的VPN功能,或者ZeroTier组建虚拟网络,这样可能更容易配置,不需要处理复杂的端口转发。 总结,用户的核心需求是让阿里云服务器通过SFTP传输文件到家里的电脑,需要解决家里电脑的可达性问题,可能需要内网穿透或VPN,然后配置SFTP服务器客户端连接。需要分步骤指导,确保用户能够理解并操作。</think>要实现外网的阿里云服务器通过 **SFTP** 将文件传输到家庭电脑,核心难点在于家庭电脑通常没有公网 IP 且处于内网环境。以下是详细的配置步骤解决方案: -- ### **一、需求分析** - **目标**:阿里云服务器(外网)作为 **SFTP 客户端**,家庭电脑作为 **SFTP 服务器端**。 - **问题**:家庭电脑无公网 IP,运营商可能屏蔽入站连接,需通过内网穿透或反向代理实现。 -- ### **二、解决方案(两种主流方法)** #### **方法 1:家庭电脑暴露 SFTP 端口到公网(需公网 IP)** **适用场景**:家庭宽带拥有公网 IP(或动态公网 IP),且运营商未封锁 22 端口。 ##### **步骤 1:家庭电脑配置 SFTP 服务器** 1. **安装 SSH/SFTP 服务**: - **Windows**:安装 `OpenSSH Server`(Windows 10/11 内置): ```powershell # 启用 OpenSSH 服务器 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0 Start-Service sshd Set-Service -Name sshd -StartupType Automatic ``` - **Linux/macOS**:默认已安装 OpenSSH,确保服务运行: ```bash sudo systemctl enable sshd --now ``` 2. **检查 SFTP 服务状态**: - 默认端口 `22`,运行 `netstat -an | grep :22`(Linux/macOS)或 `Get-NetTCPConnection -LocalPort 22`(Windows)确认端口监听。 ##### **步骤 2:家庭网络配置(端口转发)** 1. **获取家庭公网 IP**: - 访问 [IP查询网站](https://ip.sb) 记录当前公网 IP(动态 IP 会变化,需配合 DDNS)。 2. **路由器配置端口转发**: - 登录路由器管理页面(如 `192.168.1.1`),找到 **NAT/端口转发** 功能。 - 添加规则:将外网端口(如 `2222`)转发到家庭电脑的内网 IP 端口 `22`。 ```plaintext 外部端口:2222 内部 IP:192.168.1.100(家庭电脑的局域网 IP) 内部端口:22 协议:TCP ``` 3. **动态 DNS(DDNS)配置(可选)**: - 若家庭是动态公网 IP,使用 DDNS 服务(如花生壳、No-IP)绑定域名,避免 IP 变化后无法连接。 ##### **步骤 3:阿里云服务器使用 FileZilla 连接** 1. **安装 FileZilla 客户端**: - 阿里云服务器(Linux)安装: ```bash sudo apt install filezilla # Debian/Ubuntu sudo yum install filezilla # CentOS ``` - 或通过图形界面直接下载。 2. **配置 SFTP 连接**: - 打开 FileZilla,输入以下信息: ```plaintext 主机:<家庭公网IP 或 DDNS 域名>:2222 协议:SFTP 用户:家庭电脑的登录用户名(如 Windows 用户名) 密码:对应账户的密码 ``` - 点击 **快速连接**,成功后会显示远程目录。 --- #### **方法 2:内网穿透(无公网 IP 的终极方案)** **适用场景**:家庭无公网 IP 或运营商封锁端口,使用反向代理工具打通隧道。 ##### **步骤 1:选择内网穿透工具** 推荐工具: - **frp**(高性能开源工具,需自备服务器) - **Ngrok**(有免费公网服务,但速度较慢) - **ZeroTier**(虚拟局域网,无需公网端口) 此处以 **frp** 为例: ##### **步骤 2:配置 frp 服务端(阿里云服务器)** 1. **下载 frp**: - 从 [GitHub Release](https://github.com/fatedier/frp/releases) 选择对应版本,如 `frp_0.51.3_linux_amd64.tar.gz`。 2. **解压并配置 `frps.ini`**: ```ini [common] bind_port = 7000 # frp 服务端监听端口 ``` 3. **启动 frp 服务端**: ```bash ./frps -c frps.ini ``` ##### **步骤 3:配置 frp 客户端(家庭电脑)** 1. **下载 frp 客户端**: - 家庭电脑(Windows/Linux)下载对应版本。 2. **配置 `frpc.ini`**: ```ini [common] server_addr = <阿里云公网IP> server_port = 7000 [sftp] # 定义 SFTP 隧道 type = tcp local_ip = 127.0.0.1 local_port = 22 # 家庭电脑的 SFTP 端口 remote_port = 6000 # 阿里云服务器暴露的端口 ``` 3. **启动 frp 客户端**: ```bash ./frpc -c frpc.ini ``` ##### **步骤 4:阿里云服务器使用 FileZilla 连接** - 在 FileZilla 中输入: ```plaintext 主机:127.0.0.1:6000 # 通过 frp 隧道映射到本地的端口 协议:SFTP 用户:家庭电脑用户名 密码:对应密码 ``` --- ### **三、安全加固建议** 1. **使用 SSH 密钥替代密码**: - 在家庭电脑生成密钥对,将公钥添加到 `~/.ssh/authorized_keys`(Linux/macOS)或 `C:\Users\用户名\.ssh\authorized_keys`(Windows)。 2. **限制访问 IP**: - 在阿里云安全组中设置仅允许特定 IP 访问 frp 服务端端口(如仅家庭 IP)。 3. **修改默认端口**: - 将 SFTP 端口从 `22` 改为高位端口(如 `22222`),减少扫描攻击。 --- ### **四、替代方案(更简单的方法)** - **ZeroTier**: 1. 在阿里云服务器家庭电脑安装 ZeroTier,加入同一虚拟网络。 2. 直接通过分配的虚拟 IP(如 `192.168.192.10`)进行 SFTP 连接,无需公网 IP 或端口映射。 - **Tailscale**: 类似 ZeroTier,基于 WireGuard,配置更简单,适合个人用户。 --- ### **五、常见问题** 1. **连接超时**: - 检查家庭电脑防火墙是否放行端口(`sudo ufw allow 22`)。 - 确认 frp 客户端服务端版本一致。 2. **权限拒绝**: - 确保家庭电脑的 SSH 用户具有目录读写权限。 - Windows 需在 `sshd_config` 中配置 `AllowUsers your_username`。 -- 通过上述方法,即使家庭电脑无公网 IP,也能安全可靠地实现外网到内网的 SFTP 文件传输。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值