配置Apache+Tomcat实现SSO(单点登录)

1.增加NameVirtualHost,在httpd.conf添加NameVirtualHost将其打开。
NameVirtualHost 192.168.30.95:80

2.尝试使用两个不同域名VirtualHost的方案,未能实现。

PHP应用 – www.wenjuanpai.com

Java应用 -  java.wenjuanpai.com

因为单点登录需要使用Cookies,而该方案使用了"www"和"java"两个子域,默认的,每个域的Cookies是独立的。

事实上,跨域Cookies共享是可行的,需要程序员额外的Code工作。

3.尝试使用不同端口VirtualHost的方案,可以实现。

配置如下

NameVirtualHost 192.168.30.95:80
NameVirtualHost 192.168.30.95:81

<VirtualHost 192.168.30.95:80>
    DocumentRoot "D:/wamp/www/wenjuanpai"
    ServerName www.wenjuanpai.com
    <Directory "D:/wamp/www/wenjuanpai">
    allow from all
    Options +Indexes
     </Directory>
     ……
</VirtualHost>

<VirtualHost 192.168.30.95:81>
    ServerName www.wenjuanpai.com
    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/
</VirtualHost>

以上方案,直观上看,和之前的采用8888端口的方案,似乎丢失一样的,但是内部机制已经改变了。

为什么要这么做?引用某位老师的一段说明:

既然 Tomcat 本身已经可以提供这样的服务,我们为什么还要引入 Apache 或者其他的一些专门的 HTTP 服务器呢?原因有下面几个:

1. 提升对静态文件的处理性能

2. 利用 Web 服务器来做负载均衡以及容错

3. 无缝的升级应用程序

这三点对一个 web 网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个 Tomcat 宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的 HTTP 服务器也就只有 apache 的 http server 了,它跟 tomcat 的结合是最紧密和可靠的。

当然,完美的方案,肯定不是“不同端口VirtualHost”的方案。只要我们的程序员够给力,能在代码中实现Cookies跨域,那才是真正的无缝整合。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值