`
dongliwei122
  • 浏览: 79307 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat配置成https方式访问(单向认证)

阅读更多
在命令提示符窗口,进入Tomcat目录,执行以下命令:
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore -validity 3600
通过以上步骤生成server.keystore证书文件、

将servlet.xml一下的的注释打开(最好拷贝此段)
<!-- Define a SSL HTTP/1.1 Connector on port 8443 -->  
<Connector protocol="org.apache.coyote.http11.Http11Protocol"    
                     port="8443" maxHttpHeaderSize="8192"  
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"  
           enableLookups="false" disableUploadTimeout="true"  
           acceptCount="100" scheme="https" secure="true"  
           clientAuth="false" sslProtocol="TLS"                   
           keystoreFile="server.keystore"    
           keystorePass="changeit"/> 
到这一步访问https;//ip:8443/item

一般Tomcat默认的SSL端口号是8443,但是对于SSL标准端口号是443,这样在访问网页的时候,直接使用https而不需要输入端口号就可以访问,如https://loalhost/webserver
想要修改端口号,需要修改Tomcat的server.xml文件:
1.non-SSL HTTP/1.1 Connector定义的地方,一般如下:
     <Connector port="80" maxHttpHeaderSize="8192"
                maxThreads="500" minSpareThreads="25" maxSpareThreads="75"
                enableLookups="false" redirectPort="443" acceptCount="100"
                connectionTimeout="20000" disableUploadTimeout="true" />
将其中的redirectPort端口号改为:443
2.SSL HTTP/1.1 Connector定义的地方,修改端口号为:443,如下:
<Connector    
   port="443" maxHttpHeaderSize="8192"
   maxThreads="150" minSpareThreads="25"
   maxSpareThreads="75"
   enableLookups="false"
   disableUploadTimeout="true"
   acceptCount="100" scheme="https"
   secure="true"
   clientAuth="false" sslProtocol="TLS"
   keystoreFile="conf/tomcat.keystore"
   keystorePass="123456" />
3.AJP 1.3 Connector定义的地方,修改redirectPort为443,如下:
     <Connector port="8009"
                enableLookups="false" redirectPort="443" protocol="AJP/1.3" />

重新启动Tomcat就可以了。到这一步可以形成访问方式 http://ip/item

到tomcat下面的webapps下面的ROOT下面的index.jsp文件的内容
<?xml version="1.0" encoding="ISO-8859-1"?>
  <%response.sendRedirect("/item");%>

修改web.xml文件的内容
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>

  <welcome-file-list>
   <welcome-file>/index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
删除lib目录下的lib文件
重启Tomcat服务器,在这一步可以直接通过https:ip来访问项目
分享到:
评论
12 楼 chenh500 2011-07-13  
楼主那http://aaaaa.com形式访问,怎么设置?
有没有解决方法???
11 楼 daquan198163 2009-07-30  
ququjioulai 写道
当我配置好了这个后,我做一个登录页面,输入信息后,提交到服务器,那这我往服务器传送过程中的信息算是加了密的吗?请指教

前提是你的提交请求的url是https的,那么这个过程中就不担心密码会泄露
10 楼 daquan198163 2009-07-30  
dongliwei122 写道
ququjioulai 写道
当我配置好了这个后,我做一个登录页面,输入信息后,提交到服务器,那这我往服务器传送过程中的信息算是加了密的吗?请指教

算是加密了,因为这个配置采用的是单向认证,采用的是对称加密算法,主要的目的就是为了链路加密,如果是采用双向认证那就是采用了非对称加密算法,页面需要有公钥的Key,不知道说的对不对,我是这样理解的。

只要是https都是一样的,中间会有一个“握手”过程,这里面既有对称加密,也有非对称加密。
单向认证:只有浏览器对服务器进行认证,服务器不对浏览器认证。
双向认证就是两者都有,因此要求客户端也有证书,比较麻烦所以一般不用。
9 楼 BeanY1981 2009-07-30  
引用

<Connector    
   port="443" maxHttpHeaderSize="8192"
   maxThreads="150" minSpareThreads="25"
   maxSpareThreads="75"
   enableLookups="false"
   disableUploadTimeout="true"
   acceptCount="100" scheme="https"
   secure="true"
   clientAuth="false" sslProtocol="TLS"
   keystoreFile="conf/tomcat.keystore"
   keystorePass="123456" />





这里可以让keystorePass不出现在server.xml中么?或者有什么方法可以控制不让它明文出现在这里么?
8 楼 dongliwei122 2009-06-08  
ququjioulai 写道
当我配置好了这个后,我做一个登录页面,输入信息后,提交到服务器,那这我往服务器传送过程中的信息算是加了密的吗?请指教

算是加密了,因为这个配置采用的是单向认证,采用的是对称加密算法,主要的目的就是为了链路加密,如果是采用双向认证那就是采用了非对称加密算法,页面需要有公钥的Key,不知道说的对不对,我是这样理解的。
7 楼 ququjioulai 2009-06-05  
当我配置好了这个后,我做一个登录页面,输入信息后,提交到服务器,那这我往服务器传送过程中的信息算是加了密的吗?请指教
6 楼 dongliwei122 2009-05-12  
grandboy 写道
xiaojianhx 写道
我想用,http://aaaaa.com形式访问,怎么设置?

修改hosts就行了。

你这样只能是在本机用http://aaaaa.com访问
5 楼 mr.fresh 2009-05-09  
我去试试看
4 楼 grandboy 2009-03-31  
xiaojianhx 写道
我想用,http://aaaaa.com形式访问,怎么设置?

修改hosts就行了。
3 楼 xiaojianhx 2009-03-31  
我想用,http://aaaaa.com形式访问,怎么设置?
2 楼 dongliwei122 2009-03-30  
wskiwwwxhe 写道
不得行哦

在多个项目中已经使用过 ,没有问题的,你检查是你漏了哪一步吗
1 楼 wskiwwwxhe 2009-03-29  
不得行哦

相关推荐

Global site tag (gtag.js) - Google Analytics