利用 http协议代替ftp协议进行数据传输

本文涉及的产品
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介:

Internet上的网络往往有内网,架构上大都是前端是防火墙+NAT,后端是内网的各个主机,因此要穿透防火墙进行传输需要对防火墙或NAT进行额外的配置。Internet上的两个Windows服务器之间传输数据,最长用就是FTP,其次还有HTTP等。Linux上还有SSH中的scp和NFS以及其他方法。古老的TFTP已经很少有人用了,或许思科的一些网络设备中还依然保留了TFTP,尽管现在思科的大多数设备也添加了对FTP的支持。

   由于FTP工作在被动模式时不仅需要将21作为FTP的控制(命令)端口,还要将20作为FTP的数据端口,因此在配置防火墙时比较麻烦,不如用http协议传输文件。因此可以利用原有的网站结合Alias的方法加目录访问控制来实现。   
   例如:原有网站为http://www.lightcdn.cn,现在想在此网站下开启一个基于HTTP的ftp,如访问http://www.lightcdn.cn/ftpoverhttp/就能下载其中的文件,但又不影响原有网站的目录结构(如有的网站根目录是SVN的一个checkout点)。    
# Linux上的Apache的写法:    
<VirtualHost *:80>    
   ServerAdmin bbs@lightcdn.cn
   DocumentRoot /www/html/mainweb    
   ServerName www.lightcdn.cn
   ServerAlias ftp.lightcdn.cn    
   Alias /ftpoverhttp/www/html/ftpoverhttp    
   <Directory "/www/html/ftpoverhttp">    
        Options Indexes FollowSymLinks #注释有Indexes才能列出目录内容。    
        AllowOverride None    
        Order allow,deny #注释:否则会报403错误。    
        Allow from all    
   </Directory>    
   #ErrorLog logs/ftp.lightcdn.cn-error_log    
   #CustomLog logs/ftp.lightcdn.cn-access_log common #注释:如果访问量很大全完可以去掉日志。    
</VirtualHost>    
# Windows上的Apache的写法:    
<VirtualHost *:80>    
   ServerAdmin bbs@lightcdn.cn
   DocumentRoot C:/WWW/mainweb    
   ServerName www.lightcdn.cn
   ServerAlias ftp.lightcdn.cn    
   Alias /ftpoverhttp C:/WWW/mainftp/ftpoverhttp    
   <Directory "C:/WWW/mainftp/ftpoverhttp">    
        Options Indexes FollowSymLinks    
        AllowOverride None    
        Order allow,deny    
        Allow from all    
   </Directory>    
   #ErrorLog logs/ftp.lightcdn.cn-error_log    
   #CustomLog logs/ftp.lightcdn.cn-access_log common    
</VirtualHost>    
附:根据SELinux的设计:    
   标准的非HTTPS端口多采用为:80,8008,8009    
   标准的HTTPS端口多采用为:443,8443

end







本文转自 urey_pp 51CTO博客,原文链接:,http://blog.51cto.com/dgd2010/1394077如需转载请自行联系原作者


相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
17天前
|
网络协议 Linux iOS开发
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
推荐:实现RTSP/RTMP/HLS/HTTP协议的轻量级流媒体框架,支持大并发连接请求
38 1
|
1月前
|
网络协议 Linux 网络安全
curl(http命令行工具):Linux下最强大的网络数据传输工具
curl(http命令行工具):Linux下最强大的网络数据传输工具
43 0
|
1月前
|
网络协议 Linux
HTTP协议基本原理简介(二)
HTTP协议基本原理简介(二)
23 1
|
1月前
|
缓存 前端开发
HTTP协议基本原理简介(三)
HTTP协议基本原理简介(三)
14 1
|
1月前
File和FTP和HTTP软件配置
File和FTP和HTTP软件配置
|
1天前
|
缓存 网络协议
【计算机协议】第一章——HTTP协议详解
【计算机协议】第一章——HTTP协议详解
|
2天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
5天前
|
缓存 安全 网络协议
Http协议是什么
【4月更文挑战第12天】HTTP是用于从WWW服务器传输超文本到浏览器的协议,基于TCP/IP,特点包括无连接、无状态、面向对象、无阻塞和可缓存。它的工作原理是客户端发送请求,服务器处理后返回响应。自1989年创建以来,HTTP已发展支持多媒体内容传输,并通过HTTPS提供安全保护。学习更多可参考计算机网络技术文献。
15 6
|
7天前
|
存储 JSON 前端开发
网络原理(4)HTTP协议(下)
网络原理(4)HTTP协议
20 0
|
17天前
|
XML JSON JavaScript
推荐一个比较好用的c++版本http协议库-cpp-httplib
推荐一个比较好用的c++版本http协议库-cpp-httplib
36 1