リモート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の内部サーバーエラーが発生します。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のどこかにあります。
これを機能させたい理由は、リモートAPIをローカルで操作するときに発生するAccess-Control-Allow-Origin
の問題です。
更新
これがconfファイル全体です。 https://www.dropbox.com/s/mkrxna4h2o9yu8k/httpd.conf?dl=
必要なのはこれだけです。
RewriteEngine On
RewriteRule ^/api/(.*)$ https://example.com/api/$1 [P,QSA,L]
Apacheは基本的に、デフォルトで有効になっているmod_rewriteモジュールを介して新しいhttpリクエストを作成することにより、リクエストをプロキシします。