LINUX.ORG.RU

Как на апаче зареверсить все урлы, включая поддомены

 ,


0

3

Конфигурация:

  1. VPS с апачем для реверспрокси и ВПН (10.0.0.1).

  2. Сервер с вебней, на который надо проксировать, с адресом 10.0.0.2. Допустим, на этом сервере есть веб-приложение miniflux, к которому я хочу получать доступ извне.

Конфиг апача дефолтный для дебиана. Включены модули:

Loaded Modules:
 core_module (static)
 so_module (static)
 watchdog_module (static)
 http_module (static)
 log_config_module (static)
 logio_module (static)
 version_module (static)
 unixd_module (static)
 access_compat_module (shared)
 alias_module (shared)
 auth_basic_module (shared)
 authn_core_module (shared)
 authn_file_module (shared)
 authz_core_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 filter_module (shared)
 headers_module (shared)
 http2_module (shared)
 mime_module (shared)
 mpm_event_module (shared)
 negotiation_module (shared)
 proxy_module (shared)
 proxy_html_module (shared)
 proxy_http_module (shared)
 proxy_http2_module (shared)
 reqtimeout_module (shared)
 setenvif_module (shared)
 status_module (shared)
 xml2enc_module (shared)

Конфиг:

<VirtualHost *:80>
        ServerAdmin root@server
        DocumentRoot /var/www/html
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        <Location /miniflux>
                ProxyPass  http://10.0.0.2:39001/
                ProxyPassReverse  http://10.0.0.2:39001/
                ProxyPreserveHost On
        </Location>
</VirtualHost>

Домен - supersite.xyz (для примера). По адресу supersite.xyz/miniflux работает прокси на сервер с miniflux на порту 39001. Браузеру отдает страницу. Но тут у меня две проблемы:

  1. Страница поломана полностью. Как будто css вообще нет или что-то вроде того.

  2. Переход по ссылкам, который подразумевает получение информации с поддоменов сервера с вебней, отдает 404. Допустим, я логинюсь в минифлюкс, что должно меня вести к supersite.xyz/miniflux/login, а вместо этого браузеру отдается supersite.xyz/login.

Если включить ProxyHTML для виртуального хоста, который НЯП для решения таких задачи и предназначен,

    ProxyHTMLEnable On
    ProxyHTMLExtended On # или без расширения

то по адресу supersite.xyz/miniflux я получаю кучу статичных нечитаемых кракозябр без урлов и прочего.

Возможно, корень у обеих проблем общий. Как починить? Мапать вручную через ProxyHTMLURLMap все поддомены? Как-то делать видимым все содержимое /var/www/html на сервере для VPS? Решение нужно такое, чтобы апач мог проксировать к разным бэкэндам (серверам), т.е. кроме url/miniflux могут быть url/gitea, url/plex и т.д., причем по разным адресам.



Последнее исправление: Entmatix (всего исправлений: 2)
Ответ на: комментарий от einhander

Имеешь ввиду на сервере с вебней? Он у меня в докере, не разбирался, как это сделать. Замаплен просто на недефолтный порт, остально дефолты контейнера. Почитаю, спасибо.

Entmatix
() автор топика
Ответ на: комментарий от firkax

Конечно можно быть упоротым граммар-наци и писать апачи и прочее, но смысл в том, чтобы меня поняли. Меня поняли.

Entmatix
() автор топика
Ответ на: комментарий от slackwarrior

Ну так можно и про caddy подумать, только смысл? Апач есть в стандартной поставке, работает, для моих задач хватает. Изучать новый инструмент чтобы поменять шило на мыло не хочется.

Entmatix
() автор топика
Ответ на: комментарий от Entmatix

граммар-наци

Да ты ещё и фашистский агитатор оказывается. Всё совсем плохо.

писать апачи

Не надо их писать, их надо удалять. И ставить нормальный веб-сервер. Тем более для реверс-прокси.

firkax ★★★★★
()
Ответ на: комментарий от einhander

Он вообще плох. Это ископаемое давно пора закопать. Но если для всяких домашних страничек на cms из 90-х, сделанных под апач, это ещё можно как-то обосновать (нуб не осилил ничего кроме древней cms, а в древней cms есть htaccess который он опять же не осилил перевести в правила для nginx-а), то для реверс-прокси даже такая отмаза не прокатывает.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Он вообще плох.

Чем плох то? Не поддерживается? Плохо с безопасностью?

то для реверс-прокси даже такая отмаза не прокатывает.

Что использовать вместо него, чем оно будет лучше?

einhander ★★★★★
()
Ответ на: комментарий от thesis

А, понятно. Это фанатик, клеймящий апач. Разговора не стоит.

Entmatix
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.