服務端(apache)解決Javascript跨域問題
阿新 • • 發佈:2019-02-19
用 apache 的 mod_proxy 模組開啟反向代理功能來實現:
1 修改 apache 配置檔案 httpd.conf ,去掉以下兩行前面 # 號
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so
2 在 server config 或 virtual host 中增加:
ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /folder http://****.com/floder
重啟 apache.
註釋:
ProxyRequests Off
指令是指採用反向(reverse)代理,對於客戶端而言它就像是原始伺服器,並且客戶端不需要進行任何特別的設定;而正向代理允許客戶端通過它訪問任意網站並且隱藏客戶端自身,因此必須採取安全措施以確保僅為經過授權的客戶端提供服務。ProxyPass
指令允許將一個遠端伺服器對映到本地伺服器的 URL 空間中,此時本地伺服器並不充當代理角色,而是充當遠端伺服器的一個映象。/folder 是一個本地虛擬路徑,http://****.com/floder 是一個指向遠端伺服器的部分 URL
如果不想對某個子目錄進行反向代理時,可以用"!"指令。比如說:
ProxyPass /folder/exception ! ProxyPass /folder http://****.com/floder
將會代理除 /folder/exception 之外的所有對 http://****.com/floder 的請求。