`
dongliwei122
  • 浏览: 81793 次
  • 性别: 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  
不得行哦

相关推荐

    利用tomcat服务器配置https双向认证、https单向认证-ssl、tls

    Tomcat作为流行的Java Servlet容器,提供了支持HTTPS协议的能力,这包括了单向认证(也称为服务器认证)和双向认证(也称为客户端认证)。这两种认证机制都是基于SSL(Secure Sockets Layer)和TLS(Transport Layer...

    tomcat配置https单项认证

    标题中的“Tomcat配置HTTPS单项认证”涉及到的是在Apache Tomcat服务器上设置安全套接层(SSL)以实现HTTPS通信的过程,尤其是关于单向认证(也称为客户端认证)的配置。在互联网上,HTTPS是HTTP协议的安全版本,...

    tomcat实现SSL双向认证

    客户端认证可以设置为 true、false 或 want,分别表示强制双向认证、单向认证和可选认证。 四、客户端证书的配置 客户端证书的配置需要将客户端证书导入到浏览器中。可以使用 keytool 工具生成客户端证书,并将其...

    Tomcat_SSL配置[归类].pdf

    不同于传统的单向认证,双向认证不仅要求服务器向客户端证明自己的身份,同时也要求客户端向服务器证明其身份。这种模式在一些高安全性的应用场景,如金融、医疗等领域中尤为常见。 1. **生成服务器证书** 使用JDK...

    AndroidHttpClient访问Tomcat双向SSL验证服务器.pdf

    本文详细介绍了如何使用`AndroidHttpClient`访问`Tomcat`双向SSL验证服务器的过程,包括证书生成、Tomcat配置、客户端验证等多个方面。通过对这些步骤的详细解析,不仅解决了实际项目中的问题,也为读者提供了一个...

    WEB服务器上配置

    【WEB服务器上配置HTTPS环境(单向认证)】 在现代互联网中,为了保障用户数据的安全传输,HTTPS(HTTP over SSL/TLS)协议被广泛应用。它通过加密通信和服务器身份验证来保护网络通信,防止中间人攻击和数据篡改。...

    统一身份认证-CAS配置实现

    此外还有单向认证和双向认证的区别,后者要求客户端也需要进行认证。 2. **CAS服务端**:负责用户的认证、ticket的生成和验证等核心功能。 3. **CAS客户端**:通常是指那些需要接入CAS单点登录系统的应用服务端。 ...

    opesnssl证书配置和使用1

    4. **SSL双向/单向认证**:双向认证要求客户端和服务器都需验证对方的身份,而单向认证只需服务器验证客户端。openssl可以通过不同的命令行选项来实现这两种认证模式。 5. **导入证书**:生成的证书需要导入到...

    单点登录Spring-security+CAS.docx

    配置SSO的关键步骤包括创建和配置数字证书以及设置Tomcat服务器。数字证书用于在客户端和服务器之间建立安全的HTTPS连接,确保数据传输的安全性。在上述内容中,`keytool`工具被用来生成和管理这些证书。例如: 1. ...

    Openssl与数字证书

    4. **测试HTTPS连接**:启动Tomcat服务器并通过浏览器访问HTTPS站点,验证HTTPS配置是否正确。 综上所述,通过对加密算法、数字摘要、数字签名、数字证书的理解以及OpenSSL的实际操作,我们可以有效地保护数据的...

    服务器证书安装配置指南.docx

    单向认证的配置** - 复制已正确导入证书的 `keystore.jks` 文件到 Tomcat 的安装目录下的 `conf` 文件夹中。 - 编辑 `conf/server.xml` 文件,找到 `&lt;Connector&gt;` 配置项,并进行如下修改: ```xml ...

    通向架构师的道路(第三天)之apache性能调优

    首先,回顾前两天的学习,我们已经掌握了基于HTTPS的单向认证架构,这是J2EE应用部署的基础。同时,我们学习了Web服务器和App Server的基本安全配置,如防止Directory traversal攻击,这是一种常见的Web安全问题。...

    SpringBoot前后端分离权限管理系统

    SpringBoot的核心特性包括内置Tomcat服务器、自动配置、起步依赖和健康检查等,这些都极大地提高了开发效率。 Vue.js作为前端框架,以其轻量级、高性能和易学易用的特点,在前端开发中备受青睐。Vue.js采用组件化...

    基于springboot+vue的在线办公OA系统.zip

    4. **内嵌Web服务器**:如Tomcat或Jetty,使得开发和部署更便捷,无需额外配置外部服务器。 5. **Actuator**:提供健康检查、指标收集、审计跟踪等功能,有助于监控和管理应用。 【Vue.js】: 1. **MVVM模式**:Vue...

    毕业设计:基于SpingBoot+Vue的软考在线培训系统.zip

    SpringBoot内置了Tomcat服务器,允许开发者直接运行主类启动应用,无需额外配置。此外,它还集成了大量常用的Spring组件,如Spring Data JPA(用于数据库操作)、Spring Security(用于权限控制)等,使得开发过程...

    使用 springboot 和 react 开发的博客系统.zip

    - 内嵌Web服务器:如Tomcat或Jetty,方便快速启动和部署应用。 - 简化的Maven/Gradle配置:通过 starter 包来简化依赖管理。 - 健康检查和Actuator:提供监控和管理应用的工具。 - 零配置原则:避免过多的手动配置,...

    music后端,基于springboot+vue前后端分离的音乐网站系统,毕业设计。源于B站.zip

    - **单向数据流**:Vue.js提倡单向数据绑定,数据从父组件流向子组件,避免了数据流的混乱。 - **Vuex**:作为状态管理库,Vuex帮助组织和管理组件间的共享状态,确保状态以受控的方式变化。 3. **前后端分离**:...

    SpringBoot + Vue + ElementUI 实现一个后台管理系统模板.zip

    SpringBoot的核心特性包括自动配置、内嵌Web服务器(如Tomcat或Jetty)、健康检查、应用信息暴露以及起步依赖。在这个项目中,SpringBoot将作为后端服务的基础,负责处理HTTP请求、数据持久化、业务逻辑等。 **Vue....

Global site tag (gtag.js) - Google Analytics