Я пытаюсь разместить свой интерфейс на каком-то общем хостинге, но сталкиваюсь с некоторыми проблемами.
Примечание: это не Предполагается, что это окончательное решение для хостинга, но я смогу вручную протестировать вещи более точно таким образом.
Моему интерфейсу требуется доступ к некоторому 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 для «прокси» запроса?