我今天开始使用一个小型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-html2.安装libxml(如果尚未安装)。
apt-get install libxml2-dev3.在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.so4.如果您要将所有请求转发到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-html2. Install libxml if it is not already installed.
apt-get install libxml2-dev3. 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.so4.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.debthe 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/ # lsThe 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 ]更多推荐
发布评论