Я использую httpd-сервер для балансировки нагрузки и как веб сервер. Я хочу преобразовать свой запрос из: http: // hostname: port / service в http: // hostname / service Как это можно сделать с помощью RewriteRule или любой другой техники?
: порт
происходит из схемы URI ( RFC 3986, 3 ). Компоненты синтаксиса:
foo: //example.com: 8042 / там / там? Name = хорек # нос \ _ / \ ______________ / \ _________ / \ _________ / \ __ / | | | | | фрагмент запроса пути авторизации схемы
Подкомпонент порта полномочий обозначается необязательным номер порта в десятичном формате после хоста и отделен от него символом один символ двоеточия (
:
).порт = * DIGIT
Схема может определять порт по умолчанию. Например, схема
http
определяет порт по умолчанию80
, соответствующий зарезервированному TCP номер порта. Тип порта, обозначенный номером порта (например, TCP, UDP, SCTP) определяется схемой URI. Производители URI и нормализаторы должны опускать компонент порта и его разделитель ":", если порт пуст, или если его значение будет таким же, как у схема по умолчанию.
Следовательно,
http://example.com
равно ТОЛЬКО http://example.com:80
https://example.com
равно ТОЛЬКО https://example.com:443
Если у вас есть веб-служба, например на http://example.com:8080/service
, и вы хотите использовать другой веб-сервер (например, в качестве балансировщика нагрузки) на http://example.com/service
, вам понадобится обратный прокси на веб-сервере, который прослушивает порт 80
. В Apache это делается с помощью модуля mod_proxy :
<Location "/service">
ProxyPass "http://example.com:8080/service"
</Location>