我最近在为我运行的所有网站创建后端方面进行了大量研究,几天前我租用了运行Debian的VPS。
长期来说,我想将它用作某些Web应用程序的后端。但是,这些客户端JavaScript应用程序在完全不同的域上运行,而不是VPS域。我正在考虑在VPS上运行各种后端应用程序作为守护进程。例如,守护进程1是一个python应用程序,守护进程2和3是节点js等。我不知道我最终可能创建了多少这些。
目前,我只在VPS上运行一个NodeJS应用程序。我想在它上面实现两个方法,监听一些任意端口,例如端口4000:
这些方法只能在一个与VPS域不同的特定域(称为DomainA)中使用。
现在有一个我觉得我会反对的问题是CORS政策。听起来我需要为Access-Control-Allow-Origin包含一个响应头:DomainA。问题是,在将来,我可能想要添加另一个可接受的请求者域,例如DomainB。那我该怎么办?我是否需要验证传入的request.connection.remoteAddress,如果它与DomainA / DomainB匹配,请写入相应的Access-Control-Allow-Origin?
截至约5分钟前发布此问题之前,我从W3C site发现了这个问题:
希望自己与多个Origin共享但不能统一响应" *"实际上必须动态生成Access-Control-Allow-Origin标头,以响应他们希望允许的每个请求。因此,此类资源的作者应发送Vary:Origin HTTP标头或提供其他适当的控制指令以防止缓存此类响应,如果跨源重用,则可能不准确。
即使我这样做,我也有点担心安全问题。根据设计,我的DomainA网站上的任何人都可以使用该网络应用程序,您不必是注册用户。我担心攻击者欺骗他们的IP地址等于DomainA。看起来对于GetSomeData请求并不重要,因为我的NodeJS会将数据发送回DaemonA而不是攻击者。但是,如果攻击者将脚本运行到AddSomeData一千次,会发生什么?我不希望我的sql表被恶意请求填满。
另一方面,我一直在阅读nginx和虚拟主机,以及如何根据传入的域名使用它们来建立不同的路由,但我不会相信< / em>我需要这些东西;不过也许我错了。
再一次,我不想将VPS用作网站服务器,Node JS监听器将返回一些JSON集合,因此我没有使用端口80事实上,VPS的主要用途是对数据进行大量操作(可能涉及本地MySQL数据库),然后返回任意数量的前端客户端浏览器应用程序可以使用的JSON集合。
答案 0 :(得分:0)
La cuestion es sencilla:veras,para que tu servidor sea lo mas seguro posible,tenes que tener en cuenta tres cosillas:
Lacuestióndeseguridad es mas que otra cosa,la recursividad que le pongas。 Aunque este tuto,es de redhat,te puede dar suficientes pistas,paraunacconfiguraciónmasprofunda。
Red Hat Enterprise Linux Security
Suerte,espero haberte hechado una mano。