4

我们明天将为使用 IIS 的客户端推出一个站点。

我将把网站向公众开放(对不起,我们正在更新消息)并允许客户在我们执行升级后的周末进行测试。

如果成功了,我就向所有人开放——如果没有,我就回滚。

向公众张贴“我们不开放”标志但其余部分对测试人员开放的最简单方法是什么?

4

6 回答 6

12

通过 IIS 重定向。在 IIS 中创建一个新网站,并将“抱歉更新”消息放入 Default.aspx。然后在真实站点(将从 80 转到其他站点(6666))和“维护”站点(设置为 80)之间切换端口。

然后告诉您的测试人员访问 yoursite.com:6666。

然后在关闭“维护”站点后将真实站点切换回80。

于 2008-11-06T17:06:50.633 回答
5

我认为值得一提的是 ASP.NET 2.0+ 的“应用程序离线”功能。(是的,我意识到提问者希望将应用程序留待测试,但我正在为以后可能有不同需求的读者写这篇文章)。

如果您真的想让每个人都离线应用程序(例如进行服务器维护),那么有一个非常简单的选项。在 ASP.NET 2.0 及更高版本中,您所要做的就是放置一个具有以下名称的文件:

app_offline.htm

...在 ASP.NET 应用程序的根目录中。在那里放一条适当的“抱歉稍后回来”消息。就是这样。ASP.NET 运行时完成其余的工作。

Scott Guthrie 博客上的详细信息。

于 2008-11-06T19:43:48.740 回答
2

要求测试人员登录。您甚至可以隐藏登录页面,以便您需要直接链接才能看到它。然后,对于所有未登录的人,重定向到显示您的消息的页面。

于 2008-11-06T17:07:07.450 回答
2

在 IIS 中启动另一个“站点”,它将捕获主站点的主机头。使用具有“我们已停止维护”的自定义 307/503/404 页面,或使用某种 URL 重写将人们重定向到您的单个静态文件。

将您真实站点上的 host-header-binding 切换到其他东西,例如您的开发人员使用的 dev.domain.com 或 testing.domain.com。

或者,通过 IP 阻止,并让您的自定义“未授权”页面告诉访问者您需要维护。

你有几个选择。

于 2008-11-06T17:16:19.227 回答
1

我以前用过的一些方法:

  • Windows 身份验证和/或单独的子域供客户端测试。
  • 在 IIS 中禁用匿名网站访问,并为您的客户端提供用户名/密码组合来测试网站。
  • 禁用 IIS 中的默认文档,并为您的客户端提供主索引文件的绝对 URL。
于 2008-11-06T17:08:03.953 回答
0

我们倾向于在站点的所有页面(通常是数据库连接,因为它包含在所有文件中)都有一个登录页面和一个包含文件,以检查有效的登录会话。如果您尚未登录,您会收到一条消息,说明该站点已关闭以进行维护

于 2008-11-06T17:39:06.777 回答