Ste*_*ins 5 security apache-2.2
我有一个托管多个站点的临时服务器和生产服务器(使用 Apache2.2)。目前,我的 DNS 指向stage.domainX.com
临时服务器并*.domainX.com
指向生产服务器。
一切似乎都工作得很好,但我希望能够保护对登台服务器的访问。因此,除非是合适的人,否则应禁止尝试进入的人stage.domainX.com
(并且,如果可能,请转到生产服务器)。
而且,我想使用域名而不是 IP,因为我希望客户能够更友好地查看临时站点(而不是记住 IP 地址)。
有没有好的方法来处理这个问题?或者,我是否以不寻常的方式处理暂存域名过程?
PS 我实际上想通过端口来管理它,但我还没有找到一种方法来做到这一点。例如,domainX.com:80(标准)进入生产,domainX.com:9000 进入登台。但尚未找到在 DNS 中执行此操作的方法(使用 GoDaddy 的名称服务器/区域)。
使用 Apache,您可以简单地设置临时服务器Allow
和Deny
指令来限制对授权 IP 地址的访问。或者,您可以将整个内容放在 HTTP 身份验证(用户名/密码,或客户端证书,如果您想要真正喜欢的话)后面。
使用自定义“未经授权”错误页面将人们重定向到生产站点的奖励积分。
配置 Apache 在不同端口上为暂存站点提供服务也是一种选择,但这只是“通过模糊实现安全性”,就像使用域一样stage.domainX.com
——它不会阻止任何人在查找时找到暂存站点。
<rant>
请注意,更改端口不是您对 DNS 所做的事情 - 它是 Web 服务器配置的事情(有关详细信息,请参阅 Apache 手册)。DNS没有端口号的概念,它只是一个名称到 IP(或 IP 到名称)的映射*——讨厌。
* 有一些有限的例外,例如 SRV 记录,但我们讨论的是A地址和CNAME记录
</rant>