安装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 是一个开源的 JavaScript 库,由 Mozilla 团队开发,主要用于在浏览器环境中渲染 PDF 文档。这个库使得开发者能够在网页上实现高质量的 PDF 文件查看功能,而无需依赖任何第三方插件。它支持多种现代浏览器,...
例如,使用Apache的`mod_rewrite`和`mod_proxy`模块,将对外部资源的请求转发到自己的服务器,然后由服务器向目标域发起请求并返回数据给客户端。 2. **客户端跨域策略**: - **JSONP(JSON with Padding)**:这...
如果你不能在服务器端配置 CORS 或者需要支持更复杂的跨域场景,可以设置一个代理服务器,将客户端的请求转发到 SignalR 服务器。例如,使用 Nginx 或 Apache 作为反向代理服务器。 4. **IFrame 和 PostMessage:*...
4. **服务器代理**:在服务器端设置一个代理,将客户端的AJAX请求转发到目标服务器,然后将结果返回给客户端。这通常通过修改服务器配置或编写中间件实现,例如Apache或Nginx的反向代理功能。 5. **Flash跨域**:...
1. **配置反向代理**:反向代理服务器(如Nginx或Apache)可以接收来自不同源的请求,并将它们转发到同一源的资源。这样,不同域名的客户端可以通过代理服务器访问同一份资源,从而实现跨域。这种方法适用于完全控制...
常见的代理服务器有Apache的mod_proxy、Nginx的反向代理配置,以及Node.js中的Express或Koa框架提供的中间件。 **三、Java代理实现** 在Java环境中,我们可以使用Servlet或Spring MVC等框架实现代理服务器。以下是...
如果后端无法控制CORS策略或者不支持,可以使用代理服务器,如Node.js的Express或Apache的Rewrite规则。前端向本地代理服务器发送请求,代理服务器转发请求到实际的目标服务器,并将响应返回给前端。 5. **...
8. **Nginx或Apache配置**:通过修改服务器配置,例如Nginx的反向代理或Apache的mod_proxy模块,可以将跨域请求重定向到同一源的服务器,实现跨域访问。 在选择解决方案时,需要考虑实际需求、兼容性和安全性等因素...
在Nginx、Apache等服务器配置中添加强制重定向规则,将所有HTTP请求转发到对应的HTTPS端口。 2. **Cookie的Secure属性**:当设置Cookie时,添加`Secure`标志,确保Cookie仅在HTTPS连接下发送。这确保了即使在HTTP和...
跨域是指浏览器的安全策略限制了JavaScript从一个源(Origin)向另一个源发送请求的能力,以防止恶意脚本窃取或篡改数据。源是由协议、域名和端口组成的三元组,当这三个元素中的任意一个不同时,就被视为不同的源。...
JSONP(JSON with Padding)是一种常见的解决JavaScript跨域问题的技术,尤其在jQuery中得到了广泛的应用。由于浏览器的同源策略限制,JavaScript通常无法在不同源之间进行Ajax请求。但JSONP巧妙地利用了HTML中`...
2. **跨域问题**:在Web开发中,浏览器有同源策略限制,即JavaScript只能访问与当前页面同源(协议、域名、端口都相同)的资源。为了实现跨域上传,需要在服务器端设置允许特定来源的请求,并在响应头中添加`Access-...
- 使用Nginx或Apache等反向代理服务器,将客户端的请求转发到实际的服务端,从而绕过同源策略。这种方式下,客户端请求的是代理服务器,而代理服务器再与实际服务端交互,使得浏览器认为请求是在同一源下进行的。 ...
在Node.js或其它服务器端技术中,可以设置一个代理服务器,接收客户端的请求,然后转发到实际的目标服务器。这样,浏览器看到的是与自身同源的请求,从而绕过同源策略。 4. **IFrame和Window.postMessage** ...
3. **代理服务器**:在某些情况下,如果不能修改后端服务器(如Tomcat),可以在前端设置一个代理服务器,将跨域请求转发到目标服务器,从而避免同源策略的限制。 4. **WebSocket跨域**:对于使用WebSocket进行实时...
当尝试通过JavaScript进行跨域请求时,浏览器会阻止这种行为,如使用Ajax请求时会遇到"Access-Control-Allow-Origin"头部缺失导致的错误。 【解决跨域的几种方法】 1. JSONP(JSON with Padding):这是一种较早的...
3. 代理服务器:在服务器端设置代理,将跨域请求转发到目标服务器,返回结果给客户端。例如,使用Nginx或Apache配置代理规则。 4. 如果是同一主域下的跨子域问题,可以通过设置Cookie的`Domain`属性实现共享。 5. ...
3. **代理服务器**: 使用代理服务器,如Nginx或Apache,将前端请求转发到后端服务,从而避免跨域限制。前端通过与同一域下的代理服务器通信,代理服务器再与后端交互。 4. **WebSocket跨域**:WebSocket协议允许...
由于浏览器的同源策略限制,如果BOSH服务不在同一域名下,需要使用nginx或apache等反向代理服务器进行跨域配置,以解决JavaScript的跨域访问问题。 **3. 登录实现** 用户登录过程中,strophe.js会发送一个XMPP的...