У меня есть виртуальная машина, на которой запущена служба, на которой размещена веб-страница на порту 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

Дайте мне знать, будет ли полезна дополнительная информация.

0