Назад | Перейти на главную страницу

URL-адреса перенаправления прокси-сервера Apache с определенной строкой

У меня есть сервер, на котором работают 2 приложения. Я использую общедоступный IP-адрес и хочу проанализировать URL-адрес таким образом, чтобы при появлении определенного текста вызов перенаправлялся на определенный порт. В моем случае я хочу, чтобы URL-адрес содержал:

Примеры: Предположим, что мой общедоступный IP-адрес - p.u.b.l, мой частный IP-адрес - p.r.i.v, следующие URL-адреса должны быть разрешены сервером таким образом:

http://p.u.b.l./myapp1/a1/something -> http://p.r.i.v.:82/myapp1/a1/something http://p.u.b.l./myapp2/a2/something -> http://p.r.i.v.:81/myapp2/a2/something

Я пытаюсь настроить Apache таким образом, чтобы обеспечить обратный прокси. В соответствии с моей конфигурацией в доступных для сайта, также добавленных в режиме для сайтов:

ServerName p.r.i.v

ProxyPassMatch "/myapp1/a1(.*)$" "http://p.r.i.v:82/myapp1/a1/$1"
ProxyPassReverse "/myapp1/a1(.*)$" "http://p.r.i.v:82/myapp1/a1/$1"

ProxyPassMatch "/myapp2/a2(.*)$" "http://p.r.i.v:81/myapp2/a2/$1"
ProxyPassReverse "/myapp2/a2(.*)$" "http://p.r.i.v:81/myapp2/a2/$1"

Но перенаправление не работает. Что мне не хватает? Пожалуйста, учтите, что прямой доступ к частным ресурсам работает, то есть http: //p.r.i.v: 81 / myapp2 / a2 / что-то, но http: //p.u.b.l/myapp2/a2/something не решено

Любая помощь приветствуется, спасибо Симоне

вопрос решен. В проксируемом URL-адресе был закодированный char, который нуждался в правильном определении. В этом случае я добавил AllowEncodedSlashes On и nocanon рядом с правилами ProxyPass и ProxyPassReverse.

Спасибо Симоне