Назад | Перейти на главную страницу

Конфигурация Apache для обслуживания страниц с других локальных машин за брандмауэром NAT

У меня есть один общедоступный IP-адрес, связанный с Apache в Ubuntu через модем NAT. Как мне настроить Apache для обслуживания страниц с других машин, которые также находятся за тем же модемом NAT? (Я не хочу, чтобы эти другие машины были доступны напрямую из Интернета.)

Я использую для этого прокси apache.

Пример конфигурации виртуального хоста, который передает запросы к другому веб-серверу, выглядит следующим образом:

    <VirtualHost *:80>
         ServerName example.com

         ProxyRequests Off
         ProxyPreserveHost On
         ProxyPass / http://secondapache/
         ProxyPassReverse / http://secondapache/
    </VirtualHost>

Если "secondapache" должен быть разрешен, или вы можете использовать IP-адрес, просто убедитесь, что он совпадает в строках ProxyPass и ProxyPassReverse (не забудьте эти http: // и /)

Также необходим ProxyPreserveHost On, чтобы второй веб-сервер получил реальное имя хоста, введенное пользователем в браузере.

Это было для обратного прокси-сервера HTTP apache, вы также можете использовать, например, лак для настройки обратного прокси-сервера HTTP.

Другой метод - просто использовать NAT:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination secondapacheIP:80