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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat怎么配置才可以在http和https之间转换呢?相关的知识,希望对你有一定的参考价值。

我配好了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干嘛啊。。。

如果都用https的话,那不是挺耗资源的么?所以我觉得普通的页面是不需要用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写一小段代码判断是否成功登陆.
参考技术A 还是使用session吧,在HTTPS上验证后建立一个SESSION
后台数据库保存一遍,然后再传给HTTP服务器,验证一下在数据库中的SESSION
一样的话就成功
基本上无法直接转换
参考技术B 那是因为在你的tomcat
c:\program
files\apache-tomcat-6.0.18\webapps
下面已经有了这个项目部署文件,很可能是上次关闭eclipse的时候就没有让部属在tomcat里的项目文件remove掉,所以再次部署会初选这个提示,这时选择第二项delete
remote
resource
before
deployment就可以了
参考技术C 好是不行吧?
协议不同
参考技术D 协议根本不相同,怎么能转换?
一个是加密的,一个没有。

没有发现有例子

参考资料:http://wakan.blog.51cto.com/59583/21600

myeclipse8.5怎么配置tomcat

首先你的机器里面要装tomcat啊,然后,window->preferences->在上面的搜索框输入tomcat,然后就可以选择配置自己的tomcat,输入路径,程序会自动搜索,然后enable启用就可以了
这样的话,工具栏里面deploy按钮下面就有你自己定制tomcat了,也可以选择吧程序发布到这里
参考技术A window-preferences-myeclipse-servers-tomcat
选择楼主就能看到要操作的。。
只要把单选点成enable.同时把tomcat的安装目录填上,即可。
tomcat
home
directory;你的安装目录
其他自动会配置。
然后点确定
就配置好了

以上是关于tomcat怎么配置才可以在http和https之间转换呢?的主要内容,如果未能解决你的问题,请参考以下文章

tomcat怎么把http改为https

Tomcat容器https配置之双向认证

tomcat6下配置https

myeclipse8.5怎么配置tomcat

HTTPS协议在Tomcat中启用是如何配置的

Tomcat各个 端口作用