在 Apache 配置中定义主机而不是 /etc/hosts?

在 Apache 配置中定义主机而不是 /etc/hosts?

是否可以使用自定义主机设置为 Apache 配置 VirtualHost,而无需修改 /etc/hosts?

我想要 VirtualHost 连接到与我的实时系统不同的主机进行测试。例如,在我的 /etc/hosts 文件中,我将有以下条目:

10.0.0.10    real_db

在哪里10.0.0.10是我的测试盒的 IP,真实数据库是直播系统的链接。

这是一个设置要使用并更改代码以指向不同的服务器需要触及几百个文件。

我正在寻找一种方法,让 Apache 根据我访问的 VirtualHost 来控制使用哪些主机。

我的另一种选择是编写一个 Bash 脚本来注释/取消注释 /etc/hosts 中的条目,尽管这种方法依赖于我记得实际执行此操作。我宁愿坚持使用不需要我输入的东西。

谢谢

答案1

不,Apache httpd 无法修改系统的 DNS 解析器设置(或源)。

虽然它现在对您没有帮助,但是您应该让您的软件从一个配置文件中读取其数据库设置,或者能够为此使用环境变量(可以在 Apache httpd 配置中使用 SetEnv 进行设置)。

相关内容