关于apache的反向代理求助

问题描述

公司内部系统很多,开发的语言各异,有ruby的,jsp的,asp的,web服务器也用到了apache,tomcat,iis等,各系统又用到了很多不同的端口。总之用户体验是比较差的。现在我想把这些系统的URL都整合在同一个域名(test.abc.net)下面,客户端的所有请求都发到服务器A的apache,并由其作反向代理分别发送请求到相应服务器。现在的问题是ProxyPass/yosan_systemhttp://192.168.0.9:3000/yosan_system/中红色字体部分必须一致,如果不一致的话,首页可以正常访问,但是登录后就报404错误。如ProxyPass/yosanhttp://192.168.0.9:3000/yosan_system/访问test.abc.net/yosan一切正常,但是登录后却出现404错误,URL又转到了test.abc.net/yosan_system/***(按理应该是test.abc.net/yosan/***)。研究了好几天,还是不知何故?还请各位老大不吝赐教。附:apache相关设置<VIRTUALHOST*:80>#ServerNametest.abc.net#ProxyPreserveHostOn#ProxyRequestsOff#SetEnvforce-proxy-request-1.01#SetEnvproxy-nokeepalive1DocumentRoot"C:web"DirectoryIndexlogin.htmlmain.jsp
解决方案二:

解决方案三:

解决方案四:
不解析本服务器的apache站点
解决方案五:

解决方案六:

解决方案七:

解决方案八:

解决方案九:

解决方案十:

解决方案十一:
#ProxyPass/sdemxp!ProxyPass/innersystem!
解决方案十二:

解决方案十三:

解决方案十四:
不解析本服务器的apache站点
解决方案十五:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#反向代理本服务器IIS
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#ProxyPass/UTILRESVhttp://test.abc.net:888/UTILRESV/ProxyPassReverse/UTILRESVhttp://test.abc.net:888/UTILRESV/ProxyPass/OODSearchhttp://test.abc.net:888/OODSearch/ProxyPassReverse/OODSearchhttp://test.abc.net:888/OODSearch/ProxyPass/SkillInfohttp://test.abc.net:888/SkillInfo/ProxyPassReverse/SkillInfohttp://test.abc.net:888/SkillInfo/ProxyPass/webvotehttp://test.abc.net:888/webvote/ProxyPassReverse/webvotehttp://test.abc.net:888/webvote/
解决方案:

解决方案:

解决方案:
反向代理本服务器IIS
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#反向代理服务器B的ruby
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#ProxyPass/yosan_systemhttp://192.168.0.9:3000/yosan_system/ProxyPassReverse/yosan_systemhttp://192.168.0.9:3000/yosan_system/
解决方案:

解决方案:

解决方案:
反向代理服务器B的ruby
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#反向代理服务器C的ruby
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#ProxyPass/ismshttp://192.168.0.12:3000ProxyPassReverse/ismshttp://192.168.0.12:3000
解决方案:

解决方案:

解决方案:
反向代理服务器C的ruby
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#反向代理服务器C的apache
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#ProxyPass/loginhttp://192.168.0.12:27000/login/ProxyPassReverse/loginhttp://192.168.0.12:27000/login/
解决方案:

解决方案:

解决方案:
反向代理服务器C的apache
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#反向代理服务器C的tomcat
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#ProxyPass/homehttp://192.168.0.12:8080/homeProxyPassReverse/homehttp://192.1.0.12:8080/home
解决方案:

解决方案:

解决方案:
反向代理服务器C的tomcat
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#反向代理本服务器tomcat
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#ProxyPass/http://test.abc.net:8080/ProxyPassReverse/http://test.abc.net:8080/
解决方案:

解决方案:

解决方案:
反向代理本服务器tomcat
解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:

解决方案:
#<Proxy*>OrderDeny,AllowAllowfromall</Proxy></VIRTUALHOST>

解决方案

本帖最后由 hzieemy 于 2011-09-14 15:38:34 编辑
解决方案:
http://www.phpchina.com/manual/apache/mod/mod_proxy.html给你一个apache2.2的中文版参考手册!你要问的问题!里面都可以解决!建议这种问题不要拿出来问,要找帮助或使用文档!Wishyougoodluck
解决方案:
这个文档我也看过了,一些参数看得不是很明白。我也是折腾好几天不出来了才来问问。
解决方案:
我仔细看了你的问题了!同个服务器上部署多个项目都不是你这么部署的!你用apache就得按照它定的规则来!你看去看看那个文档!看看人家怎么说的部署多个项目!
解决方案:
/*代理*/ProxyPass/http://www.chengjun.com.cn:8080//*反向代理*/ProxyPassReverse/http://www.chengjun.com.cn:8080/
解决方案:
引用3楼xiongchenghui的回复:

我仔细看了你的问题了!同个服务器上部署多个项目都不是你这么部署的!你用apache就得按照它定的规则来!你看去看看那个文档!看看人家怎么说的部署多个项目!

还请兄弟明示
解决方案:
ProxyPass/yosanhttp://192.168.0.9:3000/yosan_system/http://192.168.0.9:3000/路径下有yosan目录吗?大哥别想当然
解决方案:
同一域名同一端口好像是不支持访问多个项目的!我晓得的就是你要部署多个项目,要嘛多整几个域名或者说虚拟主机,要嘛监听多个端口,每个项目对应一个端口!你要明白你部署那么多项目就一个url进去,他知道访问哪个项目的首页啊???没那么智能的!要么你路径赔死!那你部署多个项目的目标就没用了!所以你只有用上面两种方法!
解决方案:
yosan是虚拟路径,对应的是http://192.168.0.9:3000/路径下的yosan_system
解决方案:
引用8楼hzieemy的回复:

yosan是虚拟路径,对应的是http://192.168.0.9:3000/路径下的yosan_system

apache的说明文档都是这么写的我就是不明白我用这个虚拟路径为什么不行,当然也可以把yosan写成yosan_system但是如果不指定虚拟路径的话,以下两条就不能共存了ProxyPass/http://test.abc.net:8080/ProxyPass/http://192.168.0.12:3000当然你说的多个端口也可以解决,但是毕竟不是一个完美的解决方案,也违背了我做这个整合的初衷。
解决方案:
ProxyPass/yosanhttp://192.168.0.9:3000/yosan_system/当你输入“http://apache监听端口的url(一般是域名或者IP地址)/yosan”时跳转到”http://192.168.0.9:3000/yosan_system/“ProxyPassReverse/yosanhttp://192.168.0.9:3000/yosan_system/当你访问“http://192.168.0.9:3000/yosan_system/“时浏览器显示“http://apache监听端口的url(一般是域名或者IP地址/yosan”,但是http://apache监听端口的url(一般是域名或者IP地址/yosan你没有指定路径肯定要错了,只要它不错!只有指定到每一个JSP页面!或者说每个具体的UI。类似:/yosan/index.jsphttp://192.168.0.9:3000/yosan_system/index.jsp/yosan/add.jsphttp://192.168.0.9:3000/yosan_system/add.jsp……maybe就不会错了!我没试过!
解决方案:
引用9楼hzieemy的回复:

引用8楼hzieemy的回复:yosan是虚拟路径,对应的是http://192.168.0.9:3000/路径下的yosan_systemapache的说明文档都是这么写的我就是不明白我用这个虚拟路径为什么不行,当然也可以把yosan写成yosan_system但是如果不指定虚拟路径的话,以下两条就不能共存了ProxyPass/http://test.ab……

那要么你就只有确定从某个项目的主页出发!然后在哪个主项目的首页中增加其他项目的url!不然的话,你哪个想法是没办法用apache搞定的!
解决方案:
兄弟,不要太想当然,你用人家的东西,就得遵从人家的准则!除非你足够强大,把apache的源码反编译了,改了!那你NB,你想啷个干就啷个干!
解决方案:
引用4楼xiongchenghui的回复:

/*代理*/ProxyPass/http://www.chengjun.com.cn:8080//*反向代理*/ProxyPassReverse/http://www.chengjun.com.cn:8080/

兄弟理解有误。这两个都是反向代理的一部分。
解决方案:
路过,学习中
解决方案:
参照apache的文档,我的配置应该是合理的,我预想的效果也是能实现的。xiongchenghui说我想当然,我就不明白哪里是想当然。
解决方案:
这应该是跟站点代码有关系
解决方案:
楼主这问题解决?能不能分享下?我现在也是用apache反向代理,目前我能访问到网页,但是我点击提交按钮,就提示:无法找到该网页HTTP404最可能的原因是:•在地址中可能存在键入错误。•当您点击某个链接时,它可能已过期。

时间: 2024-11-03 18:09:18

关于apache的反向代理求助的相关文章

如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理

如何在 FreeBSD 10.2 上安装 Nginx 作为 Apache 的反向代理 Nginx 是一款自由开源的 HTTP 和反向代理服务器,也可以用作 POP3/IMAP 的邮件代理服务器.Nginx 是一款高性能的 web 服务器,其特点是功能丰富,结构简单以及内存占用低. 第一个版本由 Igor Sysoev 发布于2002年,到现在有很多大型科技公司在使用,包括 Netflix. Github. Cloudflare. WordPress.com 等等. 在这篇教程里我们会"在 fre

apache实现反向代理、负载均衡及会话保持配置

apache的反向代理及负载均衡效率以及配置过程都比nginx麻烦.在这研究apache的负载均衡只是为了对比其它软件的优缺点. 测试过程如下: 查看是否安装proxy模块: [root@localhost ~]# httpd -M | grep proxy httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName

Apache实现反向代理负载均衡

说到负载均衡LVS这套技术,有很多种实现方法. 本文所说,主要就是利用apache服务器实现反向代理,实现负载均衡. 首先,传统的正向代理如下图所示,正如我们用的游戏加速代理,大多的个人PC把请求发给正向代理服务器,代理服务器通常配置高端的带宽,替我们请求相应的服务. 而负载均衡中的反向代理,通常意义上,是一个请求转发的代理.类似一个收发室的管理人员,外来的很多邮件,传到收发室,然后由管理员分配给不同的办公室.通过这样的操作,可以使每台服务器避免过多的负载导致宕机.而转发的这个过程,通常也有很多

试用Apache/Nginx反向代理多个Web应用

同一个域名,想绑定多个Web应用,简单的方式就是通过反向代理的方式实现. 比如我有一个域名www.xxx.com,并已映射到我本地服务器,同时又有两个应用blog和photo,已部署启动在后台服务器上,blog部署在本地3000端口(http://127.0.0.1:3000/blog),Photo部署在本地3001端口(http://127.0.0.1:3001/photo).希望通过www.xxx.com/blog访问博客应用,通过www.xxx.com/photo访问相册应用,这时就可以用

Apache设置反向代理解决js跨域问题

这是一个很简单的方案,通过启用Apache反向代理解决js跨域问题 为什么要这么做? 在现在的开发过程中大家会遇到这样一个问题:后端代码写好之后,前端的小伙伴需要将后端代码部署到本地才能正常使用api.若直接使用远程服务器上的api(例如测试服务器上的api)就会出现js跨域问题,导致无法使用远程服务器上的api.将后端代码部署到前端小伙伴的本地会出现以下几个问题: 前端小伙伴下载后端代码到本地并配置,花时间! 后端代码有更新之后,前端小伙伴也需要更新本地的后端代码,花时间! 前端小伙伴本地安装

代理服务器-Apache反向代理请求跳转问题

问题描述 Apache反向代理请求跳转问题 我在配置Apache2.2.31的HTTPS反向代理配置,第一次进入时,地址栏显示的是Apache的地址,一切正常 ,而当我输入东西,点击跳转之后,地址栏就变成了被代理的主机的IP地址了 如果反向代理正常的话,地址栏不应该是https://192.168.1.105/mbi/ParamTest.do么???怎么才能让地址栏保证是代理服务器的地址呢??? httpd-vhosts.conf中的配置: ProxyPreserveHost看说明好像是多个主机

在Nginx服务器中配置mod_proxy反向代理的方法_nginx

反向代理做法可以为网站安全做更高一步,像一些银行肯定是使用了反代理就是你进入代理服务器也得不到任何数据,下面我来介绍nginx用mod_proxy实现反向代理配置方法. 由于项目需要实现一个域名代理的功能 比如: 复制代码 代码如下: a.com/a.html=>b.com/b.html 也就是用a.com代理了所用b.com网站的请求,经过朋友介绍用apache的反向代理可以实现其目的,哥们试了一下,果然很爽.配置起来也超级的方便. (注意下面只介绍反向代理,正向代理等我用到了再介绍嘿嘿) 1

nginx用mod_proxy实现反向代理配置

由于项目需要实现一个域名代理的功能 比如:  代码如下 复制代码 a.com/a.html=>b.com/b.html 也就是用a.com代理了所用b.com网站的请求,经过朋友介绍用apache的反向代理可以实现其目的,哥们试了一下,果然很爽.配置起来也超级的方便. (注意下面只介绍反向代理,正向代理等我用到了再介绍嘿嘿) 1.启动apache的mod_proxy模块.  代码如下 复制代码 LoadModule proxy_module modules/mod_proxy.so LoadMo

Linux防火墙上的Apache反向代理

[导读]本文着重介绍在企业防火墙上安装具有代理和重写规则功能的Web服务器--Apache的方法,以及编译和设置Apache的具体步骤.在成功安装后,弹性的虚拟主机设置可以允许外部用户通过防火墙访问内部局域网上多个Web服务器. 一.测试环境与网络结构 本文所使用的测试环境是Redhat Linux 7.2.Apache 1.3.24,公司域名假设是company.com. 公司的典型网络构造如附图所示. 注意: 附图中的防火墙上安装了2块网卡,其中e0端口的外部公共地址为1.2.3.4,e1端