Tomcat介绍---SSL

2021-02-20 08:06发布

一. WEB相关
容器:实现了什么规范的服务器就称为什么容器
常见的web容器:webLogect   JBOSS   Tomcat


二. Tomcat安装及启动
安装路径不能有空格及中文字符、特殊字符
安装后需配置JAVA_HOME环境变量,指定为jdk的安装根目录。
不能启动的原因:
1. JAVA_HOME路径后不能有;号,会导致启动是一闪而过。
2. 端口占用问题,可用netstat –nao查看目前使用的端口。


修改端口:server.xml


CATALINA_HOME环境变量:当有多个Tomcat服务器存在时,如果设置了CATALINA_HOME环境变量,所有的Tomcat启动的都是此变量指定的Tomcat。


三. Tocmat目录结构
bin:存放启动或管理Tomcat的一些脚本
conf:存放Tomcat的配置文件。
lib:Tomcat运行依赖的jar包(能被受管理的所有应用访问)
logs:存放Tomcat的日志
webapps:存放JavaWeb应用。(该目录中的每一个文件夹代表一个JavaWeb应用)
work:Tomcat的工作目录


四. JavaWeb应用的标准目录结构
MyApp 应用名称
WEB-INF  必须有,大写一致,放入此目录的资源隐藏,外部只能间接的访问
classes  存放class文件
lib 存放该应用所要用到的jar包
web.xml  当前应用的配置文件


五. 部署应用到Tomcat中
1. 开放式目录,把应用直接copy至webapps目录下。
2. 发布war包,在应用的目录下 jar –cvf MyApp.war .
然后放置webapps目录下,Tomcat自动将war包解压部署。注意:如果删除了war包,部署的应用也会删除。自动解压部署可以在server.xml文件中配置。


六. Tomcat的组成结构
conf/server.xml
Host—代表虚拟主机
Context—代表主机中的某个应用


1. 配置虚拟目录
方式一、(不建议使用。修改了server.xml文件后,必须重新启动Tomcat才会生效)
修改server.xml在Host元素内部增加以下内容:
<Context path="/MyPPP" docBase="c:\tmp\MyApp"/>
path:是虚拟目录,一般以/开头
docBase:应用的真实目录路径


方式二、建议使用
在TOmcat安装目录\conf\[enginename]\[hostname]\建立一个xml文件,文件名就是虚拟访问入口(path的作用)
文件中只需要指定真实路径即可
<Context docBase="c:\tmp\MyApp"/>
案例:配置默认端口、默认应用及默认主页
http://localhost(默认端口是80)
显示MyApp\1.html
更改应用的默认主页:修改web.xml
在根元素中添加以下内容:
<welcome-file-list>
<welcome-file>p.html</welcome-file>
<welcome-file>1.html</welcome-file>
</welcome-file-list>


2. 设置虚拟主机
修改server.xml,
<Host name="www.itcast.cn" appBase="...."/>
name:主机的名称
appBase:存放该网站所有应用的文件夹路径


设置后修改操作系统的host文件




七. SSL   Server Socket Layer
一种保证网络上的两个节点进行安全通信的协议,建立在SSL上的HTTP被称为HTTPS协议,HTTPS协议的默认端口号为443。
作用:给数据进行加密,验证对方身份


公钥->私钥
被公钥加密的数据要用私钥解,相反。


SSL通过安全证书来证明客户或服务器的身份。
获取证书的两种方式:
1. 从权威机构申请,需交费。只对一个IP有效
Certificate Authority,CA和VeriSign和Thawte
2. 创建自我签名的证书
如果只需要对数据进行加密,而不用验证对方身份。可以自己创建一个证书。

a) 创建证书
keytool –genkey –alias tomcat –keyalg RSA
以上命令将在操作系统的用户目录下生成 .keystore 文件
b) 配置SSL连接器
在Tomcat中的server.xml文件中
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" /> 
添加属性:keystoreFile=”keystore文件的目录”
keystorePass = “指定keystore密码,不指定默认为changeit”
c) 访问SSL的web站点
https://localhost:8443


注意:在配置SSL双向握手后,如果启动Tomcat报错。需将Connector修改如下代码:
protocol=”HTTP/1.1”替换为:protocol=”org.apache.coyote.http11.Http11Protocol”
标签: