Попытка определить между перезаписью, перенаправлением или прокси для сервера приложений Apache

Я использую внутренний сервер веб-приложений Apache на App.domain.com. Он предоставляется извне с помощью переадресации портов на межсетевом экране / шлюзе как app.domain.com:10080.[12155 visibleAccess обычно работает как внутри ( http://app.domain.com ), так и снаружи ( http://app.domain.com:10080 ), за исключением того, что во время разработки и настройки (выполняемых извне) приложение каким-то образом сохраняло порт (10080) в своих конфигурациях, и это время от времени появляется вверху в некоторых обслуживаемых URL. Затем это отображается как "http: //app.domain.com: 10080 / some / text / ..."

Это не проблема извне, где происходит разработка, и она разрешается правильно, но он генерирует ошибку при доступе изнутри, так как сервер работает не на порту 10080, а на порту 80.

Сейчас я пытаюсь исправить это и задаюсь вопросом, какой метод является предпочтительным для решения этой проблемы. Должен ли я просто использовать прокси-запросы на 10080 на порт 80, используя отдельную директиву VirtualHost:

<VirtualHost *:10080>
        ProxyRequests Off
        ProxyPreserveHost On
<Proxy *>
        AddDefaultCharset Off
        Order allow,deny
        Allow from all
</Proxy>
        ProxyPass / http://app.domain.com/
        ProxyPassReverse / http://app.domain.com/
</VirtualHost>

, или мне следует использовать Redirect:

<VirtualHost *:10080>
##{and any one of:}
              Redirect permanent / http://app.domain.com/
## OR ##      Redirect / http://%{HTTP_HOST}$1
## OR ##      Redirect / http://app.domain.com/
</VirtualHost>

Или это вызывает mod_rewrite?

Я пробовал несколько вариантов, но я все еще кажется, что он не работает должным образом, так как некоторые страницы (проксированные / перенаправленные) не отображаются правильно, и, возможно, мои записи не совсем правильные.

В конечном итоге мне нужно будет сделать то же самое и для https , но сначала я пытаюсь заставить его работать по протоколу http, который затем можно было бы воспроизвести.

Server version: Apache/2.4.18 (Ubuntu) / Server built:   2017-09-18T15:09:02

Спасибо за любые указатели.

0
задан 10 November 2017 в 20:21
1 ответ

Перенаправление : вернуть ответ перенаправления клиенту.

Переписать : внутренне изменить то, на что указывает URL, без ведома клиента. При желании он может возвращать клиенту ответ перенаправления, но это намного сложнее и подвержено ошибкам.

Прокси-сервер : перенаправляет запросы куда-то еще и возвращает ответы клиенту.

Если это исправить в приложении, необходимо не вариант, Перенаправление будет самым простым, легким и быстрым решением.

В вашем случае вы захотите использовать:

Redirect permanent "/" "http://app.domain.com:80/"
0
ответ дан 5 December 2019 в 07:09

Теги

Похожие вопросы