приложение Laravel App, доступное/(например, http: ///)
Метабаза, доступная на/метабаза (например, http: /// metabase)
docker port 3000 не экспонировал (только через Appy) p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> p> preme http: /// apersy)
. Готово < /p>
Контейнер Docker работает локально: < /p>
Код: Выделить всё
sudo docker run -d -p 3000:3000 \
-e MB_SITE_URL="http://127.0.0.1/metabase" \
--name metabase metabase/metabase
< /code>
проверить с помощью: < /p>
sudo docker ps
curl http://127.0.0.1:3000
Apache обратная прокси-конфигурация (/etc/apache2/sites-available/metabase.conf):
>>
ServerAdmin admin@example.com
ProxyPreserveHost On
ProxyRequests Off
ProxyPass /metabase http://127.0.0.1:3000/
ProxyPassReverse /metabase http://127.0.0.1:3000/
ErrorLog ${APACHE_LOG_DIR}/metabase_error.log
CustomLog ${APACHE_LOG_DIR}/metabase_access.log combined
< /code>
Модули с включенными и сайтом: < /p>
sudo a2enmod proxy
sudo a2enmod proxy_http
sudo a2ensite metabase.conf
sudo systemctl reload apache2
< /code>
Laravel Site Config (000-default.conf) остается неизменным: < /p>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/public
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
< /code>
Что я вижу < /p>
curl http://127.0.0.1/metabase → Metabase HTML works
Browser http:/// → Laravel login works
Browser http:///metabase → Laravel 404 page
< /code>
Я не хочу, чтобы метабаза была непосредственно выявлена на порту 3000 < /p>
Вопрос < /p>
Почему Apache обслуживает страницу Laravel 404 вместо прокси /metabase to Doker, даже если Docker работает, а Custly работает локально? /> приложение Laravel остается в /< /p>
метабаза надежно обслуживается /metabase < /p>
порт докера 3000 остается внутренним < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... on-same-vm