为跨域ajax调用配置apache mod

编程入门 行业动态 更新时间:2024-10-28 04:27:41
为跨域ajax调用配置apache mod_proxy(Configuring apache mod_proxy for cross-domain ajax calls)

我今天开始使用一个小型JavaScript应用程序,它利用Clipped API( http://clipped.me/api.html ),但了解到存在跨域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配置文件的所有基础知识。 任何人都可以给一个菜鸟如何做到这一点?

I started working on a small JavaScript app today that utilizes the Clipped API (http://clipped.me/api.html), but learned that there are cross-domain AJAX call issues, and the developer of the API didn't add support for JSONP. Here's the app itself:

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); });

I've set up an Apache server on my Ubuntu machine, and have been suggested to use mod_proxy to set up a reverse proxy. The problem is that I just don't know how to do this -- this is my first time using Apache. I know all the basics like accessing my main Apache config files in Terminal. Can anyone give a noob a run-down on how to do this?

最满意答案

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>

希望你能走好。

更新:

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 [确定]

Apache mod_proxy in Ubuntu

Setting up a reverse proxy using Apache in Ubuntu:

1. Install reverse_proxy module

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

2. Install libxml if it is not already installed.

apt-get install libxml2-dev

3. Load the modules in apache2.conf file

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.Say you want to forward all requests starting to internal.server then add the following to your apache2.conf file

# 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.Hopes you are good to go.!

update:

sudo aptitude download libxml2 sudo ar -xf libxml2_2.7.8.dfsg-5.1ubuntu4_amd64.deb

the following files will be extract from ubuntu package. 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

The following files will be there 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 Starting web server apache2 [ OK ]

更多推荐

本文发布于:2023-07-04 06:30:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1019724.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:ajax   apache   mod

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!