【问题标题】:Restrict access to public website until it's ready to launch? [closed]限制对公共网站的访问,直到它准备好发布? [关闭]
【发布时间】:2014-01-09 16:58:39
【问题描述】:
我已经建立了一个 Django 社交媒体类型的网站,它将在使用 Apache 的 Debian 服务器上运行。我想将该站点部署到我的生产服务器,但限制访问,以便在我检查一切是否正常工作时只有我可以看到该站点。有哪些限制访问的好方法?在访问实际网站主页之前,您是否设置了需要密码的首页?或者也许创建一个特殊的防火墙规则?
另外,如果您有两个独立且不同的公共网站将托管在同一台服务器上,该怎么办?这会改变你的选择吗?
【问题讨论】:
标签:
django
apache
web
debian
web-deployment
【解决方案1】:
您可以将所有 IP 重定向到一个静态页面(正在建设中),只允许您的 IP 访问该站点。以下是您需要放入.htaccess 或httpd.conf 的代码:
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1 # where 1.1.1.1 is your IP
RewriteCond %{REQUEST_URI} !^/under_construction\.html$
RewriteRule ^(.*)$ http://my-site.com/under_construction.html [R=307,L]
将under_construction.html 放在项目模板中的某个位置,并定义一个Alias 以在apache 中提供此模板。
【解决方案2】:
这都是关于您的前端网络服务器(Apache、Nginx 或其他)配置的。通常的解决方案是用密码保护您的网站(使用基本的 HTTP 身份验证),这样您就可以从任何地方对其进行测试,并让其他选定的人也可以预览它。与服务器上托管的站点数量完全无关。
网站/应用程序/服务器的配置和维护是它自己的 FWIW 的工作,这里有一个完整的专用问答网站:https://serverfault.com/