JavaScript没有通过代理传递

时间:2014-06-12 14:43:30

标签: javascript apache proxy

我似乎对代理和JavaScript一无所知。我搜索了几个帖子,但我不是更聪明......

我有一台CentOS(6.4)服务器,作为另一台服务器(ARMv7)的代理。两者都运行Apache;第一个是版本2.2.15,第二个是版本2.2.22。

第一台服务器上的代理配置如下:

ProxyPass /PV/    http://192.168.0.30/electricity/

在调用http://mysite.bla.xxx/PV/时,我确实得到了(在第二台服务器上提供的index.html文件的一部分)。 但是,index.html文件以此开头:

<html>
  <head>
  <script type="text/javascript" src="https://www.google.com/jsapi"></script>
  <script type="text/javascript" src="/javascript/jquery/jquery.js"></script>
  <script type="text/javascript">
  ......

这就是出错的地方......当我检查代理服务器上的错误日志时,我看到了:

  

文件不存在:/ var / www / html / javascript,referer:http://mysite.bla.xxx/PV/

当然,这个文件/目录不存在。

我猜第二个<script>标签是罪魁祸首,因为它想在第一台不存在的服务器上本地查找/ javascript。

我是对的吗?如果是这样,我如何让代理服务器上的Apache服务于第二台服务器上的index.html中包含的脚本?

1 个答案:

答案 0 :(得分:1)

从js的网址中删除第一个斜杠。

不是<script src="/javascript/jquery/jquery.js">

但是<script src="javascript/jquery/jquery.js">

以斜杠开头的路径将被假定为驻留在root中。因此,您的链接指向http://mysite.bla.xxx/javascript/jquery/jquery.js