Я использую внутренний сервер веб-приложений 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
Спасибо за любые указатели.
Перенаправление : вернуть ответ перенаправления клиенту.
Переписать : внутренне изменить то, на что указывает URL, без ведома клиента. При желании он может возвращать клиенту ответ перенаправления, но это намного сложнее и подвержено ошибкам.
Прокси-сервер : перенаправляет запросы куда-то еще и возвращает ответы клиенту.
Если это исправить в приложении, необходимо не вариант, Перенаправление будет самым простым, легким и быстрым решением.
В вашем случае вы захотите использовать:
Redirect permanent "/" "http://app.domain.com:80/"