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

Как передавать аргументы через ProxyPass в Apache

Я пытаюсь сделать, но застрял:

У меня есть сервер apache, который будет перехватывать определенные URL-адреса, и для некоторых из них он будет использовать ProxyPass (или mod_rewrite), чтобы передать что-то в качестве обратного прокси другому экземпляру apache.

Итак, у меня есть такой URL:

/index.php/info?format=xml&token=SOMENUMERICTOKEN&token=SUMENUMERICTOKEN

Я пробовал :

PassProxy /index.php/info?format=xml https://1.2.3.4:567/index.php/info?format=xml

и соответствующий ProxyReverse, но он не работает

Также пробовал Rewrite с такими же строками и окончанием [P] для проксирования.

Ни один из них не работает.

Они будут работать, если я закрою /index.php, но я не могу разрешить доступ к index.php

ProxyPass работает только с частью совпадающего URL, а не со строкой запроса. ЕСЛИ вы включите строку запроса в шаблон, вы никогда не получите совпадения.

Итак, чтобы делать то, что вы хотите, вы должны использовать что-то вроде:

ProxyPass /index.php/info https://1.2.3.4:567/index.php/info

Хотя в этом случае вы, вероятно, даже могли бы использовать:

ProxyPass / https://1.2.3.4:567/

В основном воспринимайте proxypass как своего рода «поиск и замену». «ProxyPass A B» в основном означает «найти A в URL en, если найден, заменить на B».

ХОРОШО.

Я только что оставил /index.php/info в ProxyPass, и это сработало. Может дело было в побеге? отметка.

Работает.