У меня есть 3 контейнера докеров (FrontEnd, Database и ApachePhp) в одной сети Docker. ApachePhp будет веб-сервером (Apache + PHP), который мне нужно сделать видимым только через FrontEnd, т.е. только запросы к ApachePhp должны приниматься через FrontEnd. У меня есть следующий файл конфигурации apache:
<VirtualHost *:80>
ServerAdmin me@mydomain.com
DocumentRoot /var/www/site
<Directory /var/www/site/>
<RequireAll>
Require ip FrontEnd
</RequireAll>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Это правильный способ использования Require
и получить желаемый результат?
Вам не нужно решать эту проблему в конфигурации apache. Пока вы не публикуете порт, докер не будет настраивать правило переадресации или прокси для отправки внешнего трафика в ваш контейнер. Нет необходимости открывать порт в докере (это только для документации). Единственные шаги, необходимые для взаимодействия между контейнерами докеров:
*:80
).phpbackend:80
.