我正在使用 Ruby on Rails 应用程序,目前已将其配置为使用 Apache 和 VirtualHost 运行。但是,目前的虚拟主机配置仅配置为支持我的域。我正在寻找一种能够动态添加的方法,ServerAlias
以便我的应用程序可以响应多个自定义域。我知道我可以简单地添加ServerAlias
到我的VirtualHost
配置中,但这需要我重新加载 Apache 配置,这会对网站产生负面影响,因为有时会有 5-10 秒的暂停,甚至更长。
我是否只需在文本文件中维护一个域列表,并让 Apache 将所有域指向与原始虚拟主机相同的目录?
答案1
仅在文件中包含域名是行不通的。但是您可以拥有这样一个文件,将其添加ServerAlias
到每个条目的前面,并从另一个配置文件中包含该文件。
除此之外:重新加载不应该花费那么多时间。我建议您检查一下这个问题。
如果出于某种原因您的 Apache 无法快速重新加载,那么最好在 Apache 前面放置一些可以快速重新加载的东西:HAproxy 或 nginx。然后,您在 Apache 中为这些相同的域(在单独的端口上运行)设置一个静态配置,代理将决定将请求发送到哪个 Apache 配置(端口)。