Web服务器的部署地点

在公司里部署Web服务器

网络包从互联网到达服务器的过程,根据服务器部署地点的不同而不同。最简单的是图5.1(a)中的这种情况,服务器直接部署在公司网络上,并且可以从互联网直接访问。这种情况下,网络包通过最近的POP中的路由器、接入网以及服务器端路由器之后,就直接到达了服务器。其中,路由器的包转发操作,以及接入网和局域网中包的传输过程都和我们之前讲过的内容没有区别。

以前这样的服务器部署方式很常见,但现在已经不是主流方式了。这里有几个原因。

第一个原因是IP地址不足。

这样的方式需要为公司网络中的所有设备,包括服务器和客户端计算机,都分配各自的公有地址。然而现在公有地址已经不够用了,因此采用这种方式已经不现实了。

另一个原因是安全问题。

这种方式中,从互联网传来的网络包会无节制地进入服务器,这意味着服务器在攻击者看来处于“裸奔”状态。当然,我们可以强化服务器本身的防御来抵挡攻击,这样可以一定程度上降低风险。但是,任何设置失误都会产生安全漏洞,而裸奔状态的服务器,其安全漏洞也都会暴露出来。人工方式总会出错,安全漏洞很难完全消除,因此让服务器裸奔并不是一个稳妥的办法。

因此,现在我们一般采用图5.1(b)中的方式,即部署防火墙。

防火墙的作用类似于海关,它只允许发往指定服务器的指定应用程序的网络包通过,从而屏蔽其他不允许通过的包。这样一来,即便应用程序存在安全漏洞,也可以降低相应的风险。

因为防火墙屏蔽了不允许从外部访问的应用程序,所以即便这些程序存在安全漏洞,用于攻击的网络包也进不来。当然,即便如此风险也不会降到零,因为如果允许外部访问的应用程序中有安全漏洞,还是有可能遭到攻击的,但怎么说也远比完全暴露安全漏洞的风险要低得多。这就是防火墙的作用。

在这里插入图片描述

将Web服务器部署在数据中心

图5.1(a)和图5.1(b)都是将Web服务器部署在公司里,但Web服务器不仅可以部署在公司里,也可以像图5.1(c)这样把服务器放在网络运营商等管理的数据中心里,或者直接租用运营商提供的服务器。

数据中心是与运营商核心部分NOC直接连接的,或者是与运营商之间的枢纽IX直接连接的。换句话说,数据中心通过高速线路直接连接到互联网的核心部分,因此将服务器部署在这里可以获得很高的访问速度,当服务器访问量很大时这是非常有效的。此外,数据中心一般位于具有抗震结构的大楼内,还具有自主发电设备,并实行24小时门禁管理,可以说比放在公司里具有更高的安全性。此外,数据中心不但提供安放服务器的场地,还提供各种附加服务,如服务器工作状态监控、防火墙的配置和运营、非法入侵监控等,从这一点来看,其安全性也更高。

总结

  • 用云服务器就好了
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
一个基于ASP.NET Core的可伸缩、通用的文件服务器。 通常后端项目可能会有头像、图片、音频、视频等上传/下载需求,这些需求都可以抽象为文件服务。 功能特点 支持Linux(推荐)、Windows 可伸缩式架构,支持部署1-N台文件服务器 RESTful架构的API接口,支持多语言客户端 支持文件秒传、断点续传、远程拉取上传 支持为用户指定磁盘空间配额 支持自定义文件处理器 系统架构 Scheme 文件的上传/下载通常由客户端直接与文件服务器交互,上传时需要提供代表用户身份token(由业务服务器生成),成功后会返回文件根地址。 也可以直接由业务服务器上传返回文件根地址给客户端。 源码中包含基于.Net Standard的服务端SDK,可以生成token、上传文件等 源码中包含基于.Net Standard的客户端SDK,可以上传/下载文件等 后端使用 配置业务服务器 //Startup.cs代码片段 public void ConfigureServices(IServiceCollection services) { //.... services.AddFileService(opts => { opts.Host = "fs.mondol.info"; //文件服务器域名 opts.AppSecret = "xxxxxx"; //加密密钥,需要与文件服务器相同 }); } 生成访问令牌 IFileServiceManager fileSvceMgr; //此实例可通过DI框架获得 //根据业务规定其意义,例如:1-代表管理员,2-代表用户 var ownerType = 2; var ownerId = 2; //如果ownerType=2,则为用户ID var validTime = TimeSpan.FromDays(2); //token有效期 var ownerToken = fileSvceMgr.GenerateOwnerTokenString(ownerType, ownerId, validTime); 前端使用 文件上传 IFileServiceClient fileClient; //此实例可通过DI框架获得 var ownerToken = "业务服务器返回的token"; var periodMinute = 0; //有效期,0不过期 var updResult = await fileClient.UploadAsync(ownerToken, "文件路径", periodMinute); var url = updResult.Data.Url; //得到文件根地址 URL格式说明 完整URL格式是这样的:https://domain.com/{fileToken}/{handler}/{modifier} fileToken:是本次上传文件的唯一标识符 handler:文件处理器,可以是image(图片处理器)、video(视频处理器)、raw(返回原文件)等 modifier:【可选】文件处理器参数,例如,image处理器,可以指定128x128_png 文件上传成功后返回的文件根地址(updResult.Data.Url)就是截至到https://domain.com/{fileToken},URL后面部分由客户端自己去拼接 下面举例说明: 下载原文件 文件根地址/raw,例如: http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/raw 下载128x128大小的缩略图(原文件是图像) 文件根地址/image/128x128,例如: http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/128x128 下载128宽,高等比缩放的缩略图(原文件是图像) 文件根地址/image/128x,例如: http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/128x 原图是JPG格式,下载png格式的图像 文件根地址/image/raw_png,例如: http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/raw_png 原图是JPG格式,下载png格式的128x128大小的缩略像 文件根地址/image/128x128_png,例如: http://file.domain.com/files/1iYQTU7fEUgaa~URSVwaCqQKFml_IAAAAAgAAAAbhmsFjiUUQwCPn2ngI1QcvsSp0AA/image/128x128_png

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值