У меня есть виртуальная машина, на которой запущена служба, на которой размещена веб-страница на порту 80. Этот сервис использует сервис httpd для размещения своей веб-страницы. Кто бы ни настраивал эту ВМ, он настраивал xinetd на хост-машине для переадресации порта 80 на ВМ на порт 3000 на хост-компьютере:
# 3000/tcp
service VMservicewebgui
{
disable = no
wait = no
socket_type = stream
user = root
port = 3000
redirect = VM_IP http
}
В настоящее время мы пытаемся настроить нашу систему так, чтобы служба, работающая на ВМ, теперь работала в док-контейнере. Чтобы проверить это, я остановил службу на ВМ и службу httpd на ВМ и запустил там контейнер, сопоставив порт 80 в моем контейнере с портом 80 на ВМ. К сожалению, если я пытаюсь подключиться к контейнеру через порт 3000 на хост-компьютере, я получаю сообщение об ошибке, в котором говорится, что у меня нет разрешения на доступ к этому URL.
Я подтвердил, что файлы конфигурации httpd для виртуальной машины и контейнера одинаковы. Я также подтвердил, что порт 80 в контейнере доступен извне, запустив SimpleHTTPServer через python на порту 80.
Пожалуйста, помогите мне понять, почему у меня нет разрешения на просмотр веб-страницы контейнеров с использованием моей текущей настройки. Для справки, вот конфигурация httpd, специфичная для службы, которую я запускаю, и URL, к которому я пытаюсь получить доступ:
Alias /service "/var/www/service-web"
<Directory "/var/www/service-web">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
allow from all
</Directory>
Моя ОС - это Centos 6.9
Дайте мне знать, будет ли полезна дополнительная информация.