簡體   English   中英

為跨域Ajax調用配置apache mod_proxy

[英]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 mod_proxy

在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
  • 啟動Web服務器apache2 [確定]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM