博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用 http协议代替ftp协议进行数据传输
阅读量:7084 次
发布时间:2019-06-28

本文共 1349 字,大约阅读时间需要 4 分钟。

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

   由于FTP工作在被动模式时不仅需要将21作为FTP的控制(命令)端口,还要将20作为FTP的数据端口,因此在配置防火墙时比较麻烦,不如用http协议传输文件。因此可以利用原有的网站结合Alias的方法加目录访问控制来实现。  

   例如:原有网站为,现在想在此网站下开启一个基于HTTP的ftp,如访问就能下载其中的文件,但又不影响原有网站的目录结构(如有的网站根目录是SVN的一个checkout点)。    
# Linux上的Apache的写法:    
<VirtualHost *:80>    
   ServerAdmin
   DocumentRoot /www/html/mainweb    
   ServerName
   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
   DocumentRoot C:/WWW/mainweb    
   ServerName
   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

转载地址:http://iorml.baihongyu.com/

你可能感兴趣的文章
测者的测试技术手册:自动的自动化框架EvoSuite集成Cobertura得到可视化的代码覆盖报告...
查看>>
集成LinearLayout时遇到的问题
查看>>
设计模式之——策略模式(Strategy)
查看>>
单利模式的好处
查看>>
Microsoft Silverlight 官方版
查看>>
Hibernate中*.hbm.xml文件让其自动读取数据库默认值
查看>>
windows 安装redis
查看>>
oracle常用函数汇总
查看>>
==和===的区别
查看>>
.bat文件调用java类的main方法
查看>>
SpringMVC 4.2 对跨域的支持
查看>>
如何防御CC攻击之我见
查看>>
Hive常用HiveQL
查看>>
Wireshark鸡毛蒜皮
查看>>
Ubuntu 系统grub丢失,不能进入系统 或者只能进入windows系统的dos界面解决办法
查看>>
整合log4j和mybatis,输出最终生成的SQL
查看>>
unix 系统调用和库函数的文档
查看>>
android中view控件的setTag()和getTag()用法和功能介绍
查看>>
Mysql的实时同步 - 双机互备(双master)
查看>>
数据库优化的一点思考(mysql、postgresql等)
查看>>