Мне нужно проксировать удаленный API https://example.com/api/
быть доступным локально как http://localhost/api/
Я пробовал вставить эту строку httpd.conf
:
ProxyPass /api/ https://example.com/api/
Я проверил, что эти модули включены:
ssl_module, proxy_module, proxy_http_module
Когда я пытаюсь достичь http://localhost/api/
, Я получаю 500 Internal Server Error, и что я вижу в error_log
является:
[Wed Jan 14 16:42:04.788401 2015] [proxy:warn] [pid 21916] [client ::1:59260] AH01144: No protocol handler was valid for the URL /api/v1/ads. If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.
Мой вопрос относительно этого: https://stackoverflow.com/questions/1997001/setting-up-a-basic-web-proxy-in-apache. На самом деле, когда я пытаюсь проксировать http-ресурсы, у меня все работает, поэтому проблема где-то вокруг SSL.
Причина, по которой я хочу, чтобы это работало, - это Access-Control-Allow-Origin
проблема, с которой я сталкиваюсь при работе с удаленным api локально.
ОБНОВИТЬ
Вот весь файл conf. https://www.dropbox.com/s/mkrxna4h2o9yu8k/httpd.conf?dl=0
Это должно быть все, что вам нужно:
RewriteEngine On
RewriteRule ^/api/(.*)$ https://example.com/api/$1 [P,QSA,L]
Apache будет в основном проксировать ваши запросы, создавая новые HTTP-запросы через модуль mod_rewrite, который включен по умолчанию.