建FTP、Web服务器不成功详解

本文涉及的产品
.cn 域名,1个 12个月
简介:
你可以按下面几步来自己找到问题所在:
如果你的IP是公网IP,那么就不用执行(一、)点,直接按(二、)执行即可。
一、先看内网能否登录你的FTP:
    1、在本机上用本地IP:127.0.0.1试登录你自己的FTP,如不能登录则应该是FTP的问题,也有可能是系统不支持FTP协议。
    2、在局域网的其他内网机子上,用你的内网IP(如:192.168.XXX.XXX等)登录你的FTP,如不能登录,则检查你的内网网络及网卡,还有防火墙的安全设置,以解决其问题。
    3、以上两点都没问题的话,就说明你的FTP在内网是没有任何问题的。
    4、在此说明一个问题,就是在你的本地机子上,以及其他与你同网段的内网机子上,一般是不能用你的动态域名来进行登录的,除非你的内网已做了域服务器,且你的动态域名也加入了域,不然就会出错!
二、接下来是外网能否访问你的内网FTP的问题了,你可接下来这样操作:
    1、在公网的计算机上用你的动态域名试登录你的FTP,如能正常则一切OK,如不能则接下来做(2、)这步。
    2、在公网的计算机上用你的当前外网动态IP(不是域名)来访问你的FTP,如果能访问说明你的FTP在公网上是可以访问的,只是你的动态域名暂时有问题;如不能访问就接下来做(3、)这步。
    3、在公网登录你的FTP服务器时,将用IE浏览器或其他的FTP客户端访问软件的被动模式(PASV)关闭,如能正常登录,就说明你的防火墙设置是禁止被动模式传输数据文件的;如仍不能正常登录你的FTP,就说明你的端口映射有问题!请仔细检查你的映射设置。
端口映射的问题:(这里只说硬件路由,软件路由不适合此处)
端口映射,对于很多初学者来说是个难题,不知道具体应该如何弄,所以问此问题的人也很多。而对于过来人,要回答此问题又相当有难度,所以……
要进行端口映射,就要对路由设备(一般指路由器、及带路由功能的ADSL)进行设置,而具有路由功能的产品繁多,制造厂商也各不相同,因而各个产品的路由设置方法也各不相同。
恐怕没有谁能确切的知道你的那款路由器,其端口映射是通过怎样的途径去进行设置的。
但端口映射的原理是一样的,一般要映射时会按其原理去寻找设置端口映射的途径(说白了就是摸索着来做),而初学者则只有向商家(或登录商家网站)寻求帮助。
端口映射的原理其实也很简单,就是将网关的端口(想要建立服务器所用的端口)映射到内网建立服务器所用的机子上。
举例:局域网网关IP:192.168.1.1,所建服务器机子IP:192.168.1.101,服务器所用端口为2121。
映射时,所建服务器的主机IP就填:192.168.1.101
映射端口号填:2121
如果实在找不到这些内容应该填在哪里,那也就只有咨询商家了,呵呵!
什么,你不会问!我、我、我……晕哟!!!
关于PORT(主动)模式、PASV(被动)模式
下面引用由bobyln在 2004/04/28 10:52pm 发表的内容:


QUOTE:
下面引用由lzhiy0816在 2003/09/17 06:25pm 发表的内容:
使用被动模式不能登录,关闭被动模式后仍不能进行数据的传送,不知其他公网用户能登录你的FTP否?
情况如下:
1、使用被动模式
Microsoft wsock32.dll, ver2.2, 32bit of May  6 1999, at 22:33:42.
正在连接到 220.114.128.94
已连接到 220.114.128.94 端口 21
220 Serv-U FTP Server v4.0 for WinSock ready...
USER list
331 User name okay, need password.
PASS (隐藏)
230-欢迎大家光临偶的私人FTP,因为机器设备有限,所以限制速度,请大家抱谦
230 User logged in, proceed.
SYST
215 UNIX Type: L8
PWD
257 "/" is current directory.
TYPE A
200 Type set to A.
PASV
227 Entering Passive Mode (192,168,0,108,8,51)
数据 Socket 错误: 连接已超时
QUIT
221 Goodbye!
已退出: 220.114.128.94
2、关闭被动模式
正在连接到 220.114.128.94
已连接到 220.114.128.94 端口 21
220 Serv-U FTP Server v4.0 for WinSock ready...
USER list
331 User name okay, need password.
PASS (隐藏)
230-欢迎大家光临偶的私人FTP,因为机器设备有限,所以限制速度,请大家抱谦
230 User logged in, proceed.
SYST
215 UNIX Type: L8
PWD
257 "/" is current directory.
TYPE A
200 Type set to A.
PORT 192,168,10,105,5,166
200 PORT Command successful.
LIST
150 Opening ASCII mode data connection for /bin/ls.
426 Data connection closed, transfer aborted.
421 Maximum session time exceeded - closing.
连接丢失: 220.114.128.94
关于以上两种方式均无法登录 主要原因在于服务器端设置的问题
在此 若服务器管理员想彻底搞懂 尚需沉下心来 仔细弄明白一些FTP服务器的基本知识
不然这次有人帮你解决了 下次怕是碰到同样问题 管理员依然无法可施
一次完整的FTP会话,包含有两个连接,一个称之为命令通道,一个称之为数据通道。
命令通道用来传递一些“命令”和反馈,包括用户名密码登陆,而且众所周知是明文。默认此通道是21端口 当然 管理员也可以修改为其他端口 是什么都无所谓 但若建立多个FTP的话 端口不能重复
数据通道用来传递实际数据----列目录、文件传输
建立数据通道分两种方式,一是PORT模式(主动),二是PASV模式(被动)
你会在因特网上找到许多FTP服务器,有的要么只支持PORT,有的要么只支持PASV,有的是因为考虑安全因素,有的是因为条件限制等等
最好把你的FTP做成PORT和PASV方式都能支持的,这样不会使客户端在连接上受到困扰,特别是一些新手
对于PORT和PASV的定义,比较容易理解的解释是针对FTP服务端而言的:
PORT是主动模式,在建立数据通道时,服务端去连接别人
PASV是被动模式,在建立数据通道时,服务端被别人连接
建立数据通道时,用PORT模式还是PASV模式,选择权在于FTP客户端
具体点说是这样
Port模式:
当客户端向服务端连接后,使用的是PORT模式,那么客户端B会发送一条命令告诉服务端(客户端B在本地打开了一个端口N在等着你进行数据连接),当服务端收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。
Pasv模式:
当客户端B向服务端连接后,使用的是PASV模式,服务端会发信息给客户端,这个信息是(服务端在本地打开了一个端口M,你现在去连接我吧),当客户端收到这个信息后,就可以向服务端的M端口进行连接,连接成功后,数据连接也建立了。

所有的FTP服务连接问题均可以围绕此基本知识做排查
具体到上面的实例来说
在第一种lzhiy0816网友用PASV模式连接xuhouchao网友服务器的情况下
出现了提示信息:
227 Entering Passive Mode (192,168,0,108,8,51)
这个信息是服务器反馈给客户端的一条信息
意思是你的连接请求我收到了 现在我打开了192.168.0.108的2099端口 你用这个端口来跟我建立数据通道吧!
很显然 这种非公网地址lzhiy0816网友是肯定不可能连接的
在第二种lzhiy0816网友用PORT模式连接xuhouchao网友服务器的情况下
出现了提示信息
PORT 192,168,10,105,5,166
这个信息是客户端发送给服务器的一条命令 意思是 我现在打开了192.168.10.105地址的1446端口 你过来跟我建立数据通道!
很显然 服务器端也无法完成此连接指令
由此也可以判断 lzhiy0816网友、xuhouchao网友 肯定都是在各自的局网内
当然 我不是说双方都在局网内 就不能做FTP 还是服务器端设置的问题 这需要管理员重新做些设置参数的修改 看以上信息xuhouchao网友用的是Serv-U
不同的FTP软件有不同的设置方法 xuhouchao网友可以在网上搜集一下Serv-U相关文章 相信当有裨益


使用被动模式不能登录,关闭被动模式后仍不能进行数据的传送,不知其他公网用户能登录你的FTP否?
情况如下:
1、使用被动模式
Microsoft wsock32.dll, ver2.2, 32bit of May  6 1999, at 22:33:42.
正在连接到 220.114.128.94
已连接到 220.114.128.94 端口 21
220 Serv-U FTP Server v4.0 for WinSock ready...
USER list
331 User name okay, need password.
PASS (隐藏)
230-欢迎大家光临偶的私人FTP,因为机器设备有限,所以限制速度,请大家抱谦
230 User logged in, proceed.
SYST
215 UNIX Type: L8
PWD
257 "/" is current directory.
TYPE A
200 Type set to A.
PASV
227 Entering Passive Mode (192,168,0,108,8,51)
数据 Socket 错误: 连接已超时
QUIT
221 Goodbye!
已退出: 220.114.128.94
2、关闭被动模式
正在连接到 220.114.128.94
已连接到 220.114.128.94 端口 21
220 Serv-U FTP Server v4.0 for WinSock ready...
USER list
331 User name okay, need password.
PASS (隐藏)
230-欢迎大家光临偶的私人FTP,因为机器设备有限,所以限制速度,请大家抱谦
230 User logged in, proceed.
SYST
215 UNIX Type: L8
PWD
257 "/" is current directory.
TYPE A
200 Type set to A.
PORT 192,168,10,105,5,166
200 PORT Command successful.
LIST
150 Opening ASCII mode data connection for /bin/ls.
426 Data connection closed, transfer aborted.
421 Maximum session time exceeded - closing.
连接丢失: 220.114.128.94 

 




















本文转自starger51CTO博客,原文链接:http://blog.51cto.com/starger/18302 ,如需转载请自行联系原作者

相关文章
|
13天前
|
API C# 开发框架
WPF与Web服务集成大揭秘:手把手教你调用RESTful API,客户端与服务器端优劣对比全解析!
【8月更文挑战第31天】在现代软件开发中,WPF 和 Web 服务各具特色。WPF 以其出色的界面展示能力受到欢迎,而 Web 服务则凭借跨平台和易维护性在互联网应用中占有一席之地。本文探讨了 WPF 如何通过 HttpClient 类调用 RESTful API,并展示了基于 ASP.NET Core 的 Web 服务如何实现同样的功能。通过对比分析,揭示了两者各自的优缺点:WPF 客户端直接处理数据,减轻服务器负担,但需处理网络异常;Web 服务则能利用服务器端功能如缓存和权限验证,但可能增加服务器负载。希望本文能帮助开发者根据具体需求选择合适的技术方案。
43 0
|
13天前
|
Rust 安全 开发者
惊爆!Xamarin 携手机器学习,开启智能应用新纪元,个性化体验与跨平台优势完美融合大揭秘!
【8月更文挑战第31天】随着互联网的发展,Web应用对性能和安全性要求不断提高。Rust凭借卓越的性能、内存安全及丰富生态,成为构建高性能Web服务器的理想选择。本文通过一个简单示例,展示如何使用Rust和Actix-web框架搭建基本Web服务器,从创建项目到运行服务器全程指导,帮助读者领略Rust在Web后端开发中的强大能力。通过实践,读者可以体验到Rust在性能和安全性方面的优势,以及其在Web开发领域的巨大潜力。
25 0
|
13天前
|
Java 数据库 API
JSF与JPA的史诗级联盟:如何编织数据持久化的华丽织锦,重塑Web应用的荣耀
【8月更文挑战第31天】JavaServer Faces (JSF) 和 Java Persistence API (JPA) 分别是构建Java Web应用的用户界面组件框架和持久化标准。结合使用JSF与JPA,能够打造强大的数据驱动Web应用。首先,通过定义实体类(如`User`)和配置`persistence.xml`来设置JPA环境。然后,在JSF中利用Managed Bean(如`UserBean`)管理业务逻辑,通过`EntityManager`执行数据持久化操作。
24 0
|
14天前
|
JavaScript 前端开发 UED
服务器端渲染新浪潮:用Vue.js和Nuxt.js构建高性能Web应用
【8月更文挑战第30天】在现代Web开发中,提升应用性能和SEO友好性是前端开发者面临的挑战。服务器端渲染(SSR)能加快页面加载速度并改善搜索引擎优化。Vue.js结合Nuxt.js提供了一个高效框架来创建SSR应用。通过安装`create-nuxt-app`,可以轻松创建新的Nuxt.js项目,并利用其自动路由功能简化页面管理。Nuxt.js默认采用SSR模式,并支持通过`asyncData`方法预取数据,同时提供了静态站点生成和服务器端渲染的部署选项,显著提升用户体验。
36 0
|
15天前
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
16 0
|
12天前
|
数据库 开发者 Python
web应用开发
【9月更文挑战第1天】web应用开发
29 1
|
9天前
|
数据采集 Java 数据挖掘
Java IO异常处理:在Web爬虫开发中的实践
Java IO异常处理:在Web爬虫开发中的实践
|
10天前
|
前端开发 JavaScript 持续交付
Web应用开发的方法
Web应用开发的方法
11 1
|
10天前
|
前端开发 JavaScript 持续交付
web应用开发
web应用开发
20 1