ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # 目录 * bin:脚本目录 - 启动脚本:startup.bat - 停止脚本:shutdown.bat * conf:配置文件目录 (config /configuration) - 核心配置文件:server.xml - 用户权限配置文件:tomcat-users.xml - 所有web项目默认配置文件:web.xml * lib:依赖库,tomcat和web项目中需要使用的jar包 * logs:日志文件. - localhost_access_log.*.txt tomcat记录用户访问信息,星`*`表示时间。 - 例如:localhost_access_log.2016-02-28.txt * temp:临时文件目录,文件夹内内容可以任意删除。 * webapps:默认情况下发布WEB项目所存放的目录。 * work:tomcat处理JSP的工作目录。 Tomcat启动不成功的原因分析: 1. 如果没有配置JAVA_HOME环境变量,在双击“startup.bat”文件运行tomcat时,将一闪立即关闭。且必须配置正确,及JAVA_HOME指向JDK的安装目录 2. 端口冲突 `java.net.BindException: Address already in use: JVM_Bind <null>:8080` 修改Tomcat/conf/server.xml ~~~ <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> ~~~ ![](https://box.kancloud.cn/b5f289e6e151589dbffc09db9c5deedb_785x424.png) 注意:WEB-INF目录是受保护的,外界不能直接访问 ![](https://box.kancloud.cn/e8aac19b012c8c3ca06d8cb9abe28046_449x681.png) # 配置https 首先为网站生成一份数字证书, 使用的命令是:`keytool -genkey -alias tomcat -keyalg RSA`(这句命令的意思是使用keytool生成一个名字为tomcat的证书,存放在.keystore这个密钥库中), 然后再在服务器中配置加密的连接器。一访问此加密连接器,网站即向你出示一份数字证书,然后浏览器安装这份数字证书,相当于安装此网站的公钥。 数字证书——系统会使用密钥库(keystore)来保存。 **为网站生成一份数字证书(配置密钥库)** 如下图: ![](https://box.kancloud.cn/3aeceed0dd8598a328a9de6f2f8fd829_997x557.png) 此时生成的密钥库`.keystore`默认存放在C:\Users\wang sheng目录下。 使用命令:`keytool -list -keystore .keystore`可查看.keystore密钥库里面的所有证书: ![](https://box.kancloud.cn/3a4f047a20a61dfe9ed4b048a9f134db_1018x387.png) **在服务器中配置加密的连接器** 将密钥库剪切,存放在Tomcat服务器下的conf目录下,在server.xml配置加密连接器 ~~~ <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/.keystore" keystorePass="123456" /> ~~~ keystoreFile :密钥库存放的位置。 keystorePass :密钥库访问的口令(密码)。 提示:配置Connector连接器可参考tomcat文档 **测试** 在客户端安装服务器证书 1. 进入服务器端口8443,但是没有CA认证的数字证书 ![](https://box.kancloud.cn/c17c142c92ba72fafab35f85a160ab46_728x516.png) 2. 点击继续浏览此网站 ,出现如下界面 ![](https://box.kancloud.cn/005828b8e7aa9c3138fcb34276abe15f_849x176.png) 3. 点击证书错误 ,出现如下界面 ![](https://box.kancloud.cn/906e49473807dd7777e9d559fca8b9b1_857x426.png) 4. 点击查看证书 ,出现如下界面 ![](https://box.kancloud.cn/8a7b6af8d2cab90513cc26d849a94a4d_629x742.png) 5. 点击安装证书 ,出现如下界面 ![](https://box.kancloud.cn/2aeaeb5627462721ebe6f6837cf183af_781x651.png) ![](https://box.kancloud.cn/f9ffcd5fbebd593c9a75b57b8a577186_1181x655.png) ![](https://box.kancloud.cn/3ecda38ecd2a56fe6090137b41e5b5ee_798x657.png) ![](https://box.kancloud.cn/a56c69ff6bdbe674343c6f3dd4a4bb41_795x657.png) ![](https://box.kancloud.cn/5471ef5eff8dfac566bb970265cdd1cb_724x645.png) 以上步骤即是在客户端安装了一份数字证书,并信任该数字证书。 再次启用浏览器进行访问,以加密的方式与服务器进行交互,应该会出现如下界面: ![](https://box.kancloud.cn/d589320c471b17967cb5df28cb13ed3c_987x142.png) 此时又会产生一个问题:当浏览器被劫持,所有的不安全证书被允许安装时就又出现不安全状况。 **检查安装结果** 步骤如图所示: ![](https://box.kancloud.cn/79f1c95c8f98eb48c58f0e69b3181d19_484x407.png) ![](https://box.kancloud.cn/30975d7f71615f8827e8db0f080b4c9f_626x591.png) ![](https://box.kancloud.cn/52f878b079cc0d651bdb0178215c3eeb_757x499.png) 注意:此文配置的只是单向加密连接器。实际开发中应配置https双向加密连接器。