设为首页 收藏本站
查看: 885|回复: 0

[经验分享] Windows Server服务器下Apache+JBoss实现请求转发

[复制链接]

尚未签到

发表于 2015-7-31 11:31:02 | 显示全部楼层 |阅读模式
主题
  本文主要讲述的是在Window Server服务器下采用Apache+JBoss服务器的模式实现请求的转发,Apache主要实现转发服务器的功能,真正的请求处理由JBoss服务器进行。在这种模式下项目使用Java编程。

集成原因分析
  采用着用模式主要的目的是将可用的服务器全部使用上,采用一个域名进行访问到所有的项目,当然也可以将所有的项目放到一个JBoss里面,然后通过域名访问,但是这样做的后果是JBoss占用服务器内存狂大,服务器运行一段时间后会自动关掉,明显的表现方式是不能继续提供访问服务,而且这样做还有一个很大的隐患是JBoss服务器的配置端口会暴漏在网络上,虽然可以实现加入访问密码等进行控制,但是会招来不必要的攻击。
  目前,在我所在的环境中,有5台服务器,每台服务器上面都挂着1-2个Java Web项目,其中有一台服务器拥有域名,因此将此服务器作为转发服务器。经过一段时间的运行,除个别问题需要注意外,服务器运行表现良好。此种模式下可以随时添加服务器集群功能。

安装Apache服务器软件
  本系统采用的是httpd-2.2.21-win32-x86-openssl-0.9.8r版本,这个版本在官网上都有下载。一路的安装过程都采用默认,下面的部分需要注意。
DSC0000.png
  上面需要填写三个信息,第一个是域名,第二个是服务器名称,第三个是服务器管理员的电子邮箱地址,填写都有相应的示例,注意端口要选择80,因为域名访问的默认端口是80。
  有的服务器是默认开启IIS服务的,如果出现冲突,你们请关闭IIS服务,或者将其监听端口改为非80即可。

配置Apache服务器
  Apache服务器的配置文件位于/conf文件夹下面,文件名称为httpd.conf。这个是Apache服务器的主要配置文件,关于Apache的配置文件说明,请查询网上的相关信息,在这里不做重复说明了。
  在配置文件中添加下面两个包(如果能查找到这两个包,那么请去掉其前面的#(注释))。

#在这里加上转发的配置
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so


  然后在该文件中包含一个专门配置转发的文件

#加上配置相应的ip地址的配置
Include conf/server_list.conf
  这个配置的意思是要包含一个配置文件server_list.conf,其和httpd.conf位于同一目录中。
  在这个文件中添加一个转发的配置,例如下:

#信息管理系统

ProxyPass /babu http://172.16.13.36:8080/babu

ProxyPassReverse /babu http://172.16.13.36:8080/babu

#信息管理系统

ProxyPass /longsheng http://172.16.13.35:8080/longsheng

ProxyPassReverse /longsheng http://172.16.13.35:8080/longsheng
  配置说明:
        ProxyPass和ProxyPassReverse是成对出现的,如果只有ProxyPass则在发出请求后网页会调转到服务器的真实地址中去,而服务器的真实地址又在内网中,因此造成无法访问。通过这种配置,外网访问项目的时候根本不知道其访问的不是真正的服务器,而是一台代理服务器,这种关系对应用户来说是透明的。
配置完毕后,重启Apache服务器,看下结果吧。


注意的问题
  在配置Apache服务器的过程中如果要检查某一项的配置是否正确,可以使用Apache自带的检查工具,Test Configuration工具,运行这个工具,如果没有问题会有一个DOS页面一闪而过,如果有错误则会提示具体的错误信息。
DSC0001.png
  在编写Java Web项目的过程中遇到的一个应该注意的问题是,在使用MyEclipse编写网页时会自动生成如下的信息:
DSC0002.png
  
  即basePath的获取,因为jsp是在服务器端运行完成的,因此,此段代码执行后basePath被替换为服务器真正的地址,此网页在内网没有问题,因为内容可以直接访问真实的服务器,如果在外网访问,你们就会出现访问失败的情况,因为basePath运行后显示的是内网的地址,而不是代理服务器的地址或者域名。
  解决办法:
  使用path代替basePath,因为path没有地址信息和协议信息,只是相对的地址,如果一定要在页面中显示地址信息,也是可以的,只不过要在后台获取地址的时候使用一些特殊的手段,因为服务器请求经过几次转发后,内次转发都会在地址头部写上一次地址,因为最后一次转发的地址就是真实的地址,这是对于使用地址访问的来说的。如果使用域名访问,你们建议使用Javascript手段获取访问协议个访问域名地址等信息来组成最终的basePath信息。
  总结
  通过Apache和JBoss的组合,可以充分利用内网服务器的资源,降低单一服务器的访问压力,甚至可以使用普通的主机来组成转发群,在本文中只是简要的说明了Apache的转发配置和需要注意的一些问题,有关Apache的优化配置说明如果哪位同鞋遇到配置问题了,那么我就把我的配置贴出来跟你大家分享。
  现在网上的配置大多数是针对Linux/unix操作系统的,希望我的这篇文章能够对那些在Windows下迷茫的同鞋能有所帮助。
  by Rush
  Date : 2012年2月14日 12:00:31

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-92692-1-1.html 上篇帖子: Apache虚拟目录的配置 下篇帖子: 解决xampp安装后,apache启动不了的问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表