一度把tdrcCMS和ExpertLib在etc/hosts中设置了两个域名,试
验通过,可是实际情况下不是两个域名,故而还是把expertlib
设置在host
www.service.tdrc.net下,增加expertlib.xml。
设置两个域名除了设置hosts外,还需在tomcat server.xml中增
加对应
www.service.expertlib.net的host段,并增加conf下
www.service.expertlib.net文件夹,里面放置ROOT.xml指向对
应应用。另外就是在apache2.2/conf/extra/vhosts.conf里增加
对应的VirtualHost。
在解决昨天遗留的网站登录编辑保存后转向notLogin页面的问题
过程中,查到可以用ajp协议来代理应用,但是另一篇比较可信
的blog中提到ajp、httpProxy都不如jk稳定,因此还是保留用jk
。另外还查到tomcat的context有个属性crossContext,可以设
为true或false,增加这个属性后,网站sxtba编辑公告保存后转
向的页面貌似正确,其实却多出了几条新闻,估计是吧别人的
session当成自己的了,因此此路也不通。
昨天的这个问题在后台中表现更为恶劣,登录后编辑任何信息都
会转向登录页面。跟踪前台保存过程发现,经过struts2的
result的redirect,member = (Member)
inv.getInvocationContext().getSession().get("member")取
出的值为空。
网上有一个解决方案是将member写入cookie,再在调用时用
script取出,但这样代码改动量太大。
另一个方案是传递JSESSIONID到URL,这个有待明天试验。
expertlib项目作为子应用大致跑着没什么问题,可是在
redirect时域名由
www.tdrc.net变成了
另外,两个项目应不应该跑在两个tomcat上也有待试验和探讨。
补充:上述问题后来设置proxyReverse得到解决。