Apache-2.2
通過 Apache 設置從 https 到 http 的基本代理
我需要代理一些遠端 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 基本上會通過 mod_rewrite 模組創建新的 http 請求來代理您的請求,該模組預設啟用