我在我的部署环境中使用本地主机文件来将域目标更改为另一个用于开发的服务器。 它工作很好,而且很容易设置。 但是一如既往有一个抓住。 如果我们的客户希望在部署到主服务器之前查看开发站点,我们不能强制他设置主机文件,所以他无法访问该站点。
我在想,必须有一个在线工具,通过您的定义redirect发送到服务器的任何请求。 所以我只是发送链接到我的客户,他不会注意到任何东西,就像web代理。 我是谷歌search,但没有发现任何有用的。
你们有没有人知道这个工具? (我不在乎它的免费或付费解决scheme,我可能会自己写,我不想重新发明。)
如果它不存在,你会推荐什么部署解决scheme/ prodecure?
感谢所有的回应
您应该使用DNS服务器,并为开发站点和生产站点使用不同的域。 例如dev.example.com与www.example.com
您的网站不应该依赖于DNS名称,因为网站名称可能会更改。 假设你有www.example.com,你的公司是通过example2购买的,你不仅要把主机名和证书改成www.example2.com,还要你的代码。
另一种方法是将开发者网站公开为www.example.com/dev。要做到这一点,您可以使用将/ dev指向内部开发者网站的反向代理。 如果您提供关于您的架构的详细信息,我们的社区更容易提供更好的解决scheme。
也可以显示不同的网站(prod vs dev),取决于其他因素,如源IP,身份validation,HTTP cookie …
您也可以将公共服务器保持在端口80 / TCP上,并将开发端口保留在不同的端口上,如8080 / TCP。 或者你可以让HTTPS网站成为开发者。
如果您的客户端不想修改/ etc / hosts,DNS是最简单的解决scheme。
只需在dev网站上创buildwww-dev.example.com。 不要忘记只允许你的客户访问www-dev.example.com(密码,防火墙,ACL …)。
如果网站需要访问者inputwww.example.com,那么这将不起作用,但是在这种情况下,您在问题中描述的内容不起作用。
我还没有听说过任何可以完成你描述的在线工具,但是我所知道的所有代理服务器(varnish,apache,甚至是squid)都知道如何将任何http请求转发到相同的后端。
把事情简单化。 我要么使用Mirceabuild议的反向代理,要么只是将站点托pipe在临时位置(子域,域或文件夹)中。