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

Apache: используйте RewriteRule в качестве прокси сортировки

Я пытаюсь разместить свой интерфейс на каком-то общем хостинге, но сталкиваюсь с некоторыми проблемами.
Примечание: это не Предполагается, что это окончательное решение для хостинга, но я смогу вручную протестировать вещи более точно таким образом.

Моему интерфейсу требуется доступ к некоторому API, расположенному на другом сервере. Для удобства (аутентификации и т.п.) я хотел бы передавать свои запросы API на внутренний сервер.
Однако нахождение в среде общего хостинга ограничивает мои возможности:

Я думал об использовании
RewriteRule ^/api/(.*)$ https://example.com/$1
как своего рода прокси, но я боюсь, что это не сработает, как задумано ...

Я открыт для любых предложений и "Не делайте этого!"

Вы не можете создать прокси с помощью Apache без mod_proxy. В P флаг, который можно использовать с mod_rewrite (на RewriteRule директива) использует mod_proxy.

RewriteRule ^/api/(.*)$ https://example.com/$1

Предположительно, вы ограничены .htaccess, в этом случае указанное выше RewriteRule шаблон (с префиксом косой черты) никогда не будет совпадать, поэтому директива ничего не сделает. Однако даже после исправления шаблон, когда вы указываете абсолютный URL в RewriteRule замена он неявно вызовет внешнее перенаправление 302 (если запрос не будет отправлен через mod_proxy), что, как я понимаю, не то, что вам нужно.

Я могу только предположить, что вы, возможно, управляете этим «прокси» с помощью своего серверного кода. Например, вы могли бы потенциально использовать CURL для «прокси» запроса?