我们的环境有如下命名的服务器:
prod-app-01
prod-app-02
test-app-01
test-app-02
我已sudo hostnamectl set-hostname test-app-02
在每台服务器上使用(每次都适当更改名称)来设置终端中显示的名称。现在我想在 Apache 中使用相同的名称,通过查看 HTTP 标头来识别哪台服务器满足了 Web 请求。
在 Apache/etc/apache2/sites-enabled/000-default.conf
文件中我放入了:
Header set X-Server: test-app-02
但是,这要求我每次都在两个地方进行相同的更改。我们的机器是克隆的,因此会保留从一个机器到下一个机器的设置。我希望能够只使用sudo hostnamectl set-hostname test-app-02
并让该更改也反映在 Apache 中(可能在重新启动后),但是,Apache 似乎无法访问该信息。
我尝试将其设置HOSTNAME
为环境变量,但无法让 Apache 使用它(Header set X-Server: "%{env:HOSTNAME}"
、Header set X-Server: "%{HOSTNAME}e"
等),每次都在标题中获取 或X-Server:
。X-Server: (null)
似乎其他功能(例如hostname
(在终端上可用))在 Apache.conf
文件中不可用。
有什么办法可以只在一个地方做出这种改变并使其在两个地方都得到反映?