AH01114: HTTP: не удалось установить соединение с серверной частью: localhost (apache как контейнер Docker) - PullRequest
0 голосов
/ 01 апреля 2019

Я пытаюсь настроить apache перед серверным приложением (JIRA) на моей локальной машине.В некоторой степени основано на: https://mimiz.github.io/2017/05/18/Configure-docker-httpd-image.html

И apache, и серверное приложение запускаются как контейнеры-докеры.

Запуск моего серверного приложения работает нормально, и я могу получить доступ к веб-интерфейсу по адресу:

http://localhost:8087

Но когда я запускаю apache и пытаюсь получить к нему доступ в своем браузере:

http://localhost:80

я получаю:

Service Unavailable

и когда я просматриваю логи, он говорит:

H00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.18.0.5. Set the 'ServerName' directive globally to suppress this message
[Mon Apr 01 09:08:50.408757 2019] [mpm_event:notice] [pid 1:tid 140140879032384] AH00489: Apache/2.4.38 (Unix) configured -- resuming normal operations
[Mon Apr 01 09:08:50.409320 2019] [core:notice] [pid 1:tid 140140879032384] AH00094: Command line: 'httpd -D FOREGROUND'
[Mon Apr 01 09:09:53.094495 2019] [proxy:error] [pid 8:tid 140140638869248] (111)Connection refused: AH00957: HTTP: attempt to connect to 127.0.0.1:8087 (localhost) failed
[Mon Apr 01 09:09:53.094571 2019] [proxy_http:error] [pid 8:tid 140140638869248] [client 172.18.0.1:53110] AH01114: HTTP: failed to make connection to backend: localhost

Это httpd.conf Подробности, которые я включил / добавил:

LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
...

<VirtualHost *:80>
  ServerName www.app1.lol
  ProxyPass / http://localhost:8087
</VirtualHost>

И вот как я запускаю свое серверное приложение:

docker run --network sample-network -p 0.0.0.0:8087:8087 -ti -d --name my-server-container my-server-image

И вот как я запускаю apache:

docker run -d -p 80:80 --network sample-network --name my-apache-container my-apache-image

Является ли проблема моей конфигурацией в файле httpd.conf или в командах запуска Docker (или их комбинациииз обоих)?

1 Ответ

1 голос
/ 01 апреля 2019

Пожалуйста, обратитесь https://docs.docker.com/network/network-tutorial-standalone/

Это должно быть настроено:

<VirtualHost *:80>
  ServerName localhost
  ProxyPass / http://172.17.0.1:8087
</VirtualHost>

или:

<VirtualHost *:80>
      ServerName localhost
      ProxyPass / http://ip_addressof_my-server-container:8087
</VirtualHost>

Использование: docker inspect container_id, чтобы увидеть IPадрес контейнера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...