“公共地址”的符号变量是什么?

3 apache-httpd ip-address

请原谅我问这个问题的无知。我花了很多时间来发现如何指定“公共地址”而不是硬编码和 IP 地址。

根据 Apache 手册绑定到地址和端口

这如何与虚拟主机一起工作
Listen 指令不实现虚拟主机 - 它只告诉主服务器要侦听的地址和端口。如果没有使用指令,服务器将对所有接受的请求以相同的方式运行。但是,可用于为一个或多个地址或端口指定不同的行为。要实现 VirtualHost,必须首先告诉服务器侦听要使用的地址和端口。然后应该为指定的地址和端口创建一个部分来设置这个虚拟主机的行为。请注意,如果为服务器未侦听的地址和端口设置了 ,则无法访问它。

手册给出了以下示例:

Listen 0.0.0.0:80
Listen 192.0.2.1:80
Run Code Online (Sandbox Code Playgroud)

硬编码 IP 地址对我们来说是有问题的,因为托管服务提供商有时会更改 IP 地址。我们想要一些无需干预就能“一直有效”的东西。上一次更改时,我出差在外,因此该站点仅关闭了一个多星期。

我们尝试了如下猜测,但导致服务器无法启动:

Listen ${PUBLIC_IP}:80
Run Code Online (Sandbox Code Playgroud)

指定“公共地址”的变量名是什么?

Ste*_*itt 8

我不认为有这样的变量,但你不需要——只要告诉 Apache 在所有接口上监听端口 80:

Listen 80
Run Code Online (Sandbox Code Playgroud)

除非您有多个 IP 地址并且您希望 Apache 只侦听一个子集,否则这将正常工作并适应不断变化的 IP 地址。