`
fireinjava
  • 浏览: 480560 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

apache转发 js 跨域

    博客分类:
  • Java
阅读更多

安装Apache HTTP Server

打开apache安装目录的conf文件夹下的httpd.conf

1、将以下两行前的注释字符 # 去掉:

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

2、在httpd.conf 文件的最后加上转发规则

例如:

ProxyPass /cas http://192.168.0.206:9090/cas

ProxyPassReverse /cas  http://192.168.0.206:9090/cas

/cas开头的请求转发到206服务器9090端口的cas

转自http://wenku.baidu.com/view/380eef63caaedd3383c4d38f.html

 

QA:

1.windows不能在本地计算机启动apache2.2解决

   打开httpd.conf文件 搜索 "ServerAdmin "改为 "#ServerAdmin ",保存退出

 

 

以下为本人做的js跨域实验配置:

1.httpd.conf最后添加

#加载代理(proxy)模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

#配置监听端口(如果用默认端口号80的话,则tomcat不用添加proxyPort配置)
Listen 3004

#配置虚拟站点
<VirtualHost *:3004>
    ServerAdmin webmaster@dummy-host.localhost
    DocumentRoot "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs"
    ServerName localhost
    ServerAlias localhost
    #ErrorLog "logs/VirtualHost3004-error.log"
    #CustomLog "logs/VirtualHost3004-access.log" common
    <Directory "C:\Program Files\Apache Software Foundation\Apache2.2\htdocs">  
        Options Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
    ProxyPass  /JsCrossDomainChild http://127.0.0.1:8089/JsCrossDomainChild
    ProxyPassReverse /JsCrossDomainChild http://127.0.0.1:8089/JsCrossDomainChild
    ProxyPass  /JsCrossDomainParent http://localhost:8088/JsCrossDomainParent
    ProxyPassReverse /JsCrossDomainParent http://localhost:8088/JsCrossDomainParent
		
</VirtualHost>

 

2.tomcat/conf/server.xml添加 proxyPort="3004"

<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
    <Connector port="8088" maxHttpHeaderSize="8192" proxyPort="3004" ...

 

3.parent.jsp

<html>
  <head>
	<script type="text/javascript">
	  function xxForChild(){
		document.getElementById('xx').innerHTML += "abc<BR>";
	  }
	</script>
  </head>
  <body >
    <input type="button" value="getChildContent" onclick="alert(document.frames['fr1'].document.getElementsByTagName('h1')[0].firstChild.data)"/>
    <div id="xx">p</div>
    <iframe id="fr1" name="fr1" height="700px" width="700px" src ="http://localhost:3004/JsCrossDomainChild/index.jsp" frameborder="1" width="100%" scrolling="no"></iframe>
  </body>
</html>

 

4.child.jsp

  <body >
    <input type="button" value="parent.xxForChild();" onclick="parent.xxForChild();"/><br>
    <h1>h1的内容</h1> 
  </body>

 5.访问http://localhost:3004/JsCrossDomainParent/

 

 

 

 

——————————————————————————————————————————

分享到:
评论

相关推荐

    pdf.js,内含跨域解决办法

    PDF.js 是一个开源的 JavaScript 库,由 Mozilla 团队开发,主要用于在浏览器环境中渲染 PDF 文档。这个库使得开发者能够在网页上实现高质量的 PDF 文件查看功能,而无需依赖任何第三方插件。它支持多种现代浏览器,...

    js_跨域访问[参照].pdf

    例如,使用Apache的`mod_rewrite`和`mod_proxy`模块,将对外部资源的请求转发到自己的服务器,然后由服务器向目标域发起请求并返回数据给客户端。 2. **客户端跨域策略**: - **JSONP(JSON with Padding)**:这...

    signalR跨域及解决方案

    如果你不能在服务器端配置 CORS 或者需要支持更复杂的跨域场景,可以设置一个代理服务器,将客户端的请求转发到 SignalR 服务器。例如,使用 Nginx 或 Apache 作为反向代理服务器。 4. **IFrame 和 PostMessage:*...

    ajax跨域解决办法

    4. **服务器代理**:在服务器端设置一个代理,将客户端的AJAX请求转发到目标服务器,然后将结果返回给客户端。这通常通过修改服务器配置或编写中间件实现,例如Apache或Nginx的反向代理功能。 5. **Flash跨域**:...

    跨域引用资源技术

    1. **配置反向代理**:反向代理服务器(如Nginx或Apache)可以接收来自不同源的请求,并将它们转发到同一源的资源。这样,不同域名的客户端可以通过代理服务器访问同一份资源,从而实现跨域。这种方法适用于完全控制...

    xmlhttp跨域解决方案

    常见的代理服务器有Apache的mod_proxy、Nginx的反向代理配置,以及Node.js中的Express或Koa框架提供的中间件。 **三、Java代理实现** 在Java环境中,我们可以使用Servlet或Spring MVC等框架实现代理服务器。以下是...

    解决javaweb端跨域问题的jar包和文档

    如果后端无法控制CORS策略或者不支持,可以使用代理服务器,如Node.js的Express或Apache的Rewrite规则。前端向本地代理服务器发送请求,代理服务器转发请求到实际的目标服务器,并将响应返回给前端。 5. **...

    WEB前端关于跨域问题的8种解决方案

    8. **Nginx或Apache配置**:通过修改服务器配置,例如Nginx的反向代理或Apache的mod_proxy模块,可以将跨域请求重定向到同一源的服务器,实现跨域访问。 在选择解决方案时,需要考虑实际需求、兼容性和安全性等因素...

    跨域共享session (实现http跳转https 共享session)

    在Nginx、Apache等服务器配置中添加强制重定向规则,将所有HTTP请求转发到对应的HTTPS端口。 2. **Cookie的Secure属性**:当设置Cookie时,添加`Secure`标志,确保Cookie仅在HTTPS连接下发送。这确保了即使在HTTP和...

    避免跨域问题 ajax proxy

    跨域是指浏览器的安全策略限制了JavaScript从一个源(Origin)向另一个源发送请求的能力,以防止恶意脚本窃取或篡改数据。源是由协议、域名和端口组成的三元组,当这三个元素中的任意一个不同时,就被视为不同的源。...

    jquery下利用jsonp跨域访问实现方法.docx

    JSONP(JSON with Padding)是一种常见的解决JavaScript跨域问题的技术,尤其在jQuery中得到了广泛的应用。由于浏览器的同源策略限制,JavaScript通常无法在不同源之间进行Ajax请求。但JSONP巧妙地利用了HTML中`...

    FTP跨域上传

    2. **跨域问题**:在Web开发中,浏览器有同源策略限制,即JavaScript只能访问与当前页面同源(协议、域名、端口都相同)的资源。为了实现跨域上传,需要在服务器端设置允许特定来源的请求,并在响应头中添加`Access-...

    AJAX跨域实现的三种方式

    - 使用Nginx或Apache等反向代理服务器,将客户端的请求转发到实际的服务端,从而绕过同源策略。这种方式下,客户端请求的是代理服务器,而代理服务器再与实际服务端交互,使得浏览器认为请求是在同一源下进行的。 ...

    java服务器端解决跨域问题共6页.pdf.zip

    在Node.js或其它服务器端技术中,可以设置一个代理服务器,接收客户端的请求,然后转发到实际的目标服务器。这样,浏览器看到的是与自身同源的请求,从而绕过同源策略。 4. **IFrame和Window.postMessage** ...

    tomcat解决跨域需要的jar.zip

    3. **代理服务器**:在某些情况下,如果不能修改后端服务器(如Tomcat),可以在前端设置一个代理服务器,将跨域请求转发到目标服务器,从而避免同源策略的限制。 4. **WebSocket跨域**:对于使用WebSocket进行实时...

    完美解决浏览器跨域的几种方法(汇总)

    当尝试通过JavaScript进行跨域请求时,浏览器会阻止这种行为,如使用Ajax请求时会遇到"Access-Control-Allow-Origin"头部缺失导致的错误。 【解决跨域的几种方法】 1. JSONP(JSON with Padding):这是一种较早的...

    浅谈Ajax跨域Session和跨域访问

    3. 代理服务器:在服务器端设置代理,将跨域请求转发到目标服务器,返回结果给客户端。例如,使用Nginx或Apache配置代理规则。 4. 如果是同一主域下的跨子域问题,可以通过设置Cookie的`Domain`属性实现共享。 5. ...

    ajax跨域问题分析与springboot解决方法

    3. **代理服务器**: 使用代理服务器,如Nginx或Apache,将前端请求转发到后端服务,从而避免跨域限制。前端通过与同一域下的代理服务器通信,代理服务器再与后端交互。 4. **WebSocket跨域**:WebSocket协议允许...

    基于strophe.js的web聊天

    由于浏览器的同源策略限制,如果BOSH服务不在同一域名下,需要使用nginx或apache等反向代理服务器进行跨域配置,以解决JavaScript的跨域访问问题。 **3. 登录实现** 用户登录过程中,strophe.js会发送一个XMPP的...

Global site tag (gtag.js) - Google Analytics