如何让客户端访问预览Web应用程序

时间:2017-10-02 22:21:17

标签: testing uat

我正在为客户构建一个Web应用程序。我想在一个备用域上公开托管它,以便他们可以访问它并随着它的进展进行检查。我希望它尽可能接近它们在真实领域上线时的体验。

该应用程序是在Laravel中构建的,大多数页面都需要登录,因此会自动受到保护。但是,有一些是公开的。我显然会设置一个robots.txt来阻止搜索引擎的索引,但这并不是我们所知道的绝对可靠。

有哪些选项可以安全地提供给我的客户?到目前为止,这是我的清单:

  • 为尚未受保护的路由实施HTTP Basic Auth。但应用程序级auth已经足够复杂(使用RBAC等),所以我宁愿不这样做。
  • 修改.htaccess以仅允许来自其工作网络的IP地址。他们有移动员工,所以这不是一个好的解决方案。
  • 设置VPN。这不是我的好地方,而且似乎做了很多工作。
  • 授予他们启动/停止虚拟主机的权限,或将应用程序置于开发模式。这意味着他们的团队成员必须协调他们的测试会议,这将过于严格。

还有哪些其他选择?

1 个答案:

答案 0 :(得分:1)

你提到的方式对我来说似乎是合理的。我只想补充一点,如果您可以控制Web服务器(例如Nginx),您还可以使用以下内容限制对特定IP(或IP范围)的访问:

server {
  listen 80;
  server_name www.foo.bar;

  location / {
    root /path/to/app/;

    allow   client.public.ip;
    deny    all;
  }
}

通过这种方式,您无需担心抓取工具访问您的网站,设置VPN或检查需要基本身份验证的路由。您只需授予一组IP访问完整的Web应用程序,而不受其他限制。

您可以做的另一件事是设置防火墙规则以禁止除特定IP之外的所有IP。或者你可以设置你的服务器,在一个没人会倾向于使用的模糊端口上交付应用程序。您可能想要查看这两个选项的ufw(简单防火墙)。例如:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 8325 <-- some random port

然后在端口8325上提供应用程序。