为跨域ajax调用配置apache mod_proxy

Configuring apache mod_proxy for cross-domain ajax calls

本文关键字:apache mod proxy 配置 调用 ajax      更新时间:2023-09-26

我今天开始制作一个使用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。我知道所有的基本知识,比如在终端中访问我的主要Apache配置文件。有谁能给新手讲讲怎么做吗?

Apache mod_proxy in Ubuntu

在Ubuntu中使用Apache设置反向代理:

1。安装reverse_proxy模块

sudo apt-get install libapache2-mod-proxy-html

2。

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。假设您想要转发从内部开始的所有请求。然后将以下内容添加到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包中解压。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 [OK]