![](/img/trans.png)
[英]apache mod_proxy, configuring ProxyPass & ProxyPassReverse for cross-domain ajax calls
[英]Configuring apache mod_proxy for cross-domain ajax calls
我今天開始開發一個使用Clipped API( http://clipped.me/api.html )的小型JavaScript應用程序,但了解到存在跨域AJAX調用問題,並且該API的開發人員沒有添加支持JSONP。 這是應用程序本身:
var clippedAPI = "http://clipped.me/algorithm/clippedapi.php";
$.ajax({
url: clippedAPI,
type: "GET",
dataType: "JSONP",
data: {
url: "http://pandodaily.com/2013/03/26/y-combinator-demo-day-2013-still-looking-for- the-next-airbnb-or-dropbox/"}
}).done(function(json) {
console.log("JSON Data: " + json.title );
}).fail(function(jqxhr, textStatus, error){
var err = textStatus + ', ' + error;
console.log("Request Failed: " + err);
});
我已經在Ubuntu計算機上設置了Apache服務器,建議使用mod_proxy設置反向代理。 問題是我只是不知道該怎么做-這是我第一次使用Apache。 我知道所有基本知識,例如在Terminal中訪問我的主要Apache配置文件。 誰能給菜鳥一個簡單的方法呢?
在Ubuntu中使用Apache設置反向代理:
1.安裝reverse_proxy模塊
sudo apt-get install libapache2-mod-proxy-html
2.如果尚未安裝libxml,請安裝它。
apt-get install libxml2-dev
3.將模塊加載到apache2.conf文件中
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so
LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so
LoadFile /usr/lib/libxml2.so
4,假設您要將所有請求轉發到internal.server,然后將以下內容添加到apache2.conf文件中
# Disable proxy requests, using ProxyPass in vhost
ProxyRequests Off
# Block all requests
<Proxy *>
Order deny,allow
Deny from all
</Proxy>
<Proxy balancer://cluster>
BalancerMember http://internal.server:802
BalancerMember http://internal.server:801
#below is to transfer sessions
#ProxySet lbmethod=bytraffic
</Proxy>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
# Deny from all
Allow from all
</Location>
5,希望你一切順利!
更新:
sudo aptitude download libxml2
sudo ar -xf libxml2_2.7.8.dfsg-5.1ubuntu4_amd64.deb
以下文件將從ubuntu軟件包中提取。
control.tar.gz data.tar.gz debian-binary libxml2_2.7.8.dfsg-5.1ubuntu4_amd64.deb
# rm libxml2_2.7.8.dfsg-5.1ubuntu4_amd64.deb control.tar.gz
# tar xf data.tar.gz
# cd usr/lib/x86_64-linux-gnu/
# ls
以下文件將在那里
libxml2.so.2 libxml2.so.2.7.8
# mv * /usr/lib/x86_64-linux-gnu/
# cp /usr/lib/x86_64-linux-gnu/libxml2.so.2* /usr/lib/
# /etc/init.d/apache2 start
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.