Можно ли настроить Apache так, чтобы он не прослушивал порт 80 при подключении с локального хоста, но разрешал подключение к порту 80 с внешнего IP-адреса?
Вы можете сделать это с помощью нескольких Слушать директивы
Listen 192.0.2.1:80
Listen 203.0.113.1:80
Множественные директивы Listen могут использоваться для указания количества адресов и портов для прослушивания. Сервер будет отвечать на запросы с любого из перечисленных адресов и портов.
В системе CentOS я должен передать
Слушайте 192.168.254.16:80
netstat -tnlp | grep :80
tcp 0 0 192.168.254.16:80 0.0.0.0:* LISTEN 15014/httpd
telnet localhost 80
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Отказ в соединении обычно означает, что ничего не слушает, что видно из вывода netstat.
Слушай 80
netstat -tnlp | grep :80
tcp 0 0 :::80 :::* LISTEN 15135/httpd
telnet localhost 80
Trying ::1...
Connected to localhost.
Escape character is '^]'.