tomcat怎么配置才可以在http和https之间转换呢?

来源:百度知道 编辑:UC知道 时间:2024/06/04 16:36:15
我配好了tomcat可以用https://locathost:8443访问了,也在web.xml里面设置了security-constraint让它可以从http转到https的页面,但是一转过去就再也出不来了。。。我希望是到用户登陆页面的时候转到https,验证完之后转回http,要怎么配置呢?

我之前的配置如下:
<security-constraint>
<web-resource-collection>
<web-resource-name>1</web-resource-name>
<url-pattern>/user_login.jsp</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
转换的办法一定是有的,而且我从http转到https都已经能实现了。事实上这样的应用应该是很多才对啊,比如http://mail.google.com这个不就是从http进到https,登录完进到邮箱就又变回http了么

用redirect转向当然是可以的,可是这样挺不灵活的啊~

elietian 我不太明白你的意思,你是说我验证了用户密码之后,把密码保存到session再传到http服务器?那这样的话我要https干嘛啊。。。

elietian的意思是用https验证完身份后把session信息保存到数据库中,然后用http应用去数据库里找相应的session信息.不知道我是否解释清楚了他的意思.下面我回答楼主的问题:
是否能转成功取决于是否采用了客户端验证,也就是server.xml中的clientAuth 是配置为true还是false.在false情况下可以自由转换,但在true的情况下确实很难转换,最根本原因是web.xml里面的验证客户端的配置导致的,可以把不需要https的应用单独发布到一个目录中去,甚至发布到另外一个tomcat上.
ps:你说的gmail的例子没有办法证明他是用的配置来解决的.有可能他配置了集群,且自己实现了集群算法,表面的东西看不出什么来的.
最后问下楼主为什么一定要不用https而非用http呢,能否说一下具体的原因,我觉得应该有更好的做法来解决你的问题而不需要在配置上动脑筋.集群原因?业务逻辑中有需要用http访问自己的要求?

消耗资源应该可以忽略.系统资源的节约应该是业务逻辑方面考虑优化的,https个人感觉不会太消耗资源.如果非要转换使用的话,只能配置成2个应用.

用js做好象不是特别好,现在插件越来越多,对弹出的屏蔽也越来越厉害,听说IE7以后的补丁会更严格.配置2个tomcat吧.一个专门负责https的登陆,另一个负责http的内容.这2个之间用socket写一小段代码判断是否成功登陆.

还是使用session吧,在HTTPS上验证后建立一个SESSION
后台数据库保存一遍,然后再传给HTTP服务器,验证一下在数据库中的SESSION
一样的话就成功
基本上无法直接转换

协议根本不相同,怎么能转换?
一个是加密的,一个没有。

没有发现有例子

能不能在服务器端程序上做文章,使用redirect转向过来?

好是不行吧?
协议不同

根本就是不同协议