美文网首页工具资料服务器配置学习后端工程师
怎么把服务器安全地部署在家里

怎么把服务器安全地部署在家里

作者: odirus | 来源:发表于2017-06-03 21:11 被阅读120次

大多数程序员都有一个创业的梦想,做了一个网站、论坛、爬虫,想试试用户的反馈,如果直接就购买云服务器,感觉很不划算,毕竟有些项目很快会被抛弃,重新选择方向。

例如,笔者做了一个公益性质的网站(自动收集微信群中的各种优惠券,用户可以直接在网页上领取,就不用再为优惠券加各种群了。目标用户主要是上班族刚需族,他们对外卖券、打车券需求比较多),如果直接托管到阿里云或者腾讯云,虽然比较稳定,但费用其实也不低,毕竟是公益网站,没有任何的商业收入(目前只有零星、稀少的赞助),要维持下去,每个月的开销也不少,所以就摸索出了一套低成本解决方案。

今天要和大家分享的就是,怎么把服务器放家里,要求抗攻击性能好,而且还能够把运营费用降到最低。目前我的网站每天 PV 在 1W+,每天的全部成本在 0.2 元左右,而且加速效果非常好。

如果你也想在家里运行服务器,上面跑一些自己业务,做初期的原型产品,那我给你推荐下面的方案。

准备材料:

  1. 一个已经备案的域名(在中国大陆,只要你想做网站类的产品,那就必须备案,所以先拿个域名备案吧,阿里云、腾讯云代备案也非常方便),下文中用 "test.com" 代替该已备案的域名进行描述。

  2. 家里的宽带开通公网IP(找电信公司申请开通,我们这边申请很容易,如果你所在区域确实无法申请到的话,可能需要购买内网穿透服务)

  3. 家里一台服务器,其实不用性能特别好,毕竟是用来做初期产品,当产品走上正轨、访问量猛增的时候,还是需要托管到可靠的云服务商上面。

  4. 一个又拍云通过认证的账号,通过认证才能使用相应的服务哦。

具体方案:

  1. 在家里的服务器上安装具体的业务,例如我的是一个网站,部署在 443 端口。

  2. 在 "test.com" 的域名解析系统中,指定一个二级域名指向家里的公网IP,假定为 “a.test.com”(家庭宽带的IP是动态的,每隔两三天会改变一次,所以可以配合一些支持API操作的DNS系统,例如DNSPOD,当公网IP发生改变的时候能够自动修改域名的解析值,每天半夜手动重启一次,强制重新获取IP,这样操作后基本不会影响到访问用户)。

  3. 在又拍云上面开通 CDN 加速服务(他家的CDN不仅可以对静态资源进行代理,还能对动态请求资源进行代理哦,我正是使用这个功能)。

  4. 在又拍云系统中创建“全网加速服务”,创建的名称保证唯一即可;源站类型,设置为“自主源”;加速域名,填写前面的二级域名 “a.test.com”。

  5. 回源 Host 设置为 “a.test.com”;回源协议选择 HTTP(或者HTTPS,如果家里的服务器已经支持 HTTPS 了);端口号选择为家里服务器上的应用端口号,例如我的是 443 号端口(注意,家庭宽带的80端口都是默认封闭的,所以在搭建服务器项目的时候,端口号选择其他非 80 端口即可)。

  6. 点击创建,即可完成相关的CDN加速操作。

使用该方案的好处

  1. 项目初期(或者公益项目),为了减少服务器费用,这种方案可以极大地节省成本,家里的一台旧电脑就可以支持一个初期项目。主要成本包括:家里的电费,又拍云的CDN加速费用,所以整体成本是很低很低的(目前我的服务成本是每天两毛钱左右,服务器选择的一台低功率的老笔记本,好点非常低;又拍云CDN加速费用每天一毛钱左右)。

  2. 又拍云 CDN 支持一些常规统计,避免了在网页端加载统计代码,提高响应速度;还支持一些安全设置,包括CC攻击、IP 限制、防盗链等等。

  3. 最重要的好处是,隐藏家里的真实IP,只要保护好回源域名的安全,足以应对一般的攻击者,在创业初期是一个非常好的选择。

  4. 还有一点就是,能够通过配合 letsencrypt.org 的免费证书,为用户提供一个安全可靠的 HTTPS 连接环境。

相关文章

  • 怎么把服务器安全地部署在家里

    大多数程序员都有一个创业的梦想,做了一个网站、论坛、爬虫,想试试用户的反馈,如果直接就购买云服务器,感觉很不划算,...

  • 软件开发之常见前端安全漏洞

    软件开发完成后,在Web服务器在投入使用之前,应该确保服务器是相对安全地。保证服务器相对安全地前提是,要充分了解影...

  • 如何把python代码部署到ubuntu服务器

    如何把python代码部署到ubuntu服务器 选择服务器 开发好的量化代码,如果跑在家里的电脑上,会可能出现各种...

  • Gogs+Drone实现自动化部署

    最近产品希望把PRD部署到服务器上,方便大家查看,为了让产品可以方便的把PRD部署到服务器上,于是想到了自动部署,...

  • 项目部署(一):防火墙端口开放、配置

    摘要:因为项目开发工作接近尾声,需要将项目部署在服务器上,之前也没怎么玩过服务器,在部署过程中也遇到些坑,在此记录...

  • Angular 发布应用

    当你准备把 Angular 应用部署到远程服务器上时,有很多可选的部署方式。 最简单的部署选项 在完整部署应用之前...

  • 如何将自己开发的网站部署到阿里云上?

    自己开发的网站肯定是需要一个平台部署的,很多人都不会自己搭建服务器,而选择部署在云服务器上,下面说一下怎么部署到阿...

  • 搭建tomcat服务器

    .启动服务器 (1))创建web工程,工程名字小写 (2)对工程进行部署,把服务器里面的工程部署到myeclipe...

  • MySql 主从部署记录

    本篇是在Linux部署完MySql后,再部署主从服务器(从服务器可以是部署Window机器上的)的记录。MySql...

  • SpringBoot项目的云服务器部署

    1.场景还原 springboot配置相当简单,人人皆知。怎么把springboot工程部署到云服务器上呢?可能有...

网友评论

    本文标题:怎么把服务器安全地部署在家里

    本文链接:https://www.haomeiwen.com/subject/bjumfxtx.html