Я пытаюсь разместить мой интерфейс на каком-то общем хостинге, но столкнуться с некоторыми проблемами с этим.
Примечание. Это не , которое должно быть окончательным решением для хостинга, но я смогу вручную проверить вещи более точно таким образом.
Моему интерфейсу требуется доступ к некоторому API, расположенному на другом сервере. Для удобства (аутентификация и тому подобное) я хотел бы передавать свои запросы API на внутренний сервер через прокси.
Однако нахождение в среде общего хостинга ограничивает мои возможности:
VirtualHost
mod_proxy
, похоже, отключен, поэтому нет ProxyPass
или ProxyPassReverse
разрешено mod_rewrite
вроде бы включен Я думал об использовании
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 для «прокси» запроса?