У меня работает веб - сервер Apache , доступный через комбинацию ip/port 123.456.789:9000 из моего браузера.

Также у меня есть экземпляр GitLab, работающий на комбинации ip/port 123.456.789:8888 и модуль GitLab с именем KanBan на 123.456.789:8889 .

Если кто-то запрашивает веб-сайт 123.456.789:9000/gitlab я хочу, чтобы веб- сервер Apache направил запрос на 123.456.789:8888 .

Соответственно, если кто-то запрашивает 123.456.789:9000/kanban я хочу, чтобы веб-сервер Apache направился к 123.456.789:8889 .

Поэтому вместо того, чтобы открывать порты 8888 и 8889 напрямую, я хочу, чтобы веб-сервер Apache функционировал как туннель, который внутренне связывает два адреса с разными портами, в то время как IP-адрес остается тем же.

Я читал, что такая конфигурация выполняется внутри httpd.conf и предполагает добавление в нее так называемых виртуальных хостов. Также это может включать некоторую специфическую для Linux маршрутизацию с помощью команды bind .

Это правильно, и если да, то может ли кто-нибудь указать мне правильное направление, как adpat файл httpd.conf ?

Если это невозможно, как я могу настроить его на моем сервере CentOs 7.1 ?

РЕДАКТИРОВАТЬ-1: Перед перекрестной публикацией этого на https://serverfault.com/ может ли администратор / мод сделать это?

РЕДАКТИРОВАТЬ-2: Я нашел этот https://stackoverflow.com/questions/8541182/apache-redirect-to-another-port, и это похоже на тот же вариант использования, но я все еще пробую.

РЕДАКТИРОВАТЬ-3: После проверки с людьми на IRC-канале #httpd мне сказали, что обратные прокси-серверы Apache должны сделать свое дело, и мне был предоставлен этот ресурс, http://www.apachetutor.org/admin/reverseproxies, которым я являюсь в данный момент работаю над.

1 ответ1

1

Предполагая, что у вас простая конфигурация httpd, отличный способ реализовать то, что вы ищете:

  • Создайте файл с именем /etc/httpd/conf.d/gitlab.conf с содержимым:

    ProxyPass "/gitlab" "http://123.456.789:8888"
    ProxyPassReverse "/gitlab" "http://123.456.789:8888"
    
  • Создайте другой файл с именем /etc/httpd/conf.d/kanban.conf с содержимым:

    ProxyPass "/kanban" "http://123.456.789:8889"
    ProxyPassReverse "/kanban" "http://123.456.789:8889"
    
  • Перезапустите httpd.

Надеюсь, это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .