1.目录遍历
要求不允许通过网址访问 Tomcat 的 example ,manager 等自带目录,我选择了最直接的办法,删除 Tomcat 中 webapps 目录下除了项目外的其它所有文件夹。
2.Tomcat AJP
修改 Tomcat 配置文件 /root/apache-tomcat-7.0.109/conf/server.xml
,注释掉下面的配置后重启 Tomcat。
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3"address="::1"port="8009"redirectPort="8443" />
3.HTTP 协议
3.1 生成密钥对
# 生成密钥对
keytool -genkeypair -alias "localhost" -keyalg "RSA" -keystore "/root/apache-tomcat-7.0.109/ssl/tomcat.keystore" -validity 36500
# 选项填写
=====================================================================================
密码:root.2023
名称与姓氏:localhost
组织单位:test
组织名称:test
城市:shenyang
省:liaoning
国家:cn
======================================================================================
# 查看密钥对
keytool -list -v -keystore "/root/apache-tomcat-7.0.109/ssl/tomcat.keystore"
3.2 配置 Tomcat
修改 Tomcat 配置文件 /root/apache-tomcat-7.0.109/conf/server.xml
,重启 Tomcat。
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"maxThreads="150" SSLEnabled="true" scheme="https" secure="true"keystoreFile="/root/apache-tomcat-7.0.109/ssl/tomcat.keystore"keystorePass="root.2023"clientAuth="false" sslProtocol="TLS" />
访问 Tomcat 时端口使用 8443
即可使用 HTTPS 协议访问 网址,更规范的做法应该时是生成对应证书,见参考资料[2]。
3.3 keytool 命令详情
-certreq 生成证书请求-changealias 更改条目的别名-delete 删除条目-exportcert 导出证书-genkeypair 生成密钥对-genseckey 生成密钥-gencert 根据证书请求生成证书-importcert 导入证书或证书链-importpass 导入口令-importkeystore 从其他密钥库导入一个或所有条目-keypasswd 更改条目的密钥口令-list 列出密钥库中的条目-printcert 打印证书内容-printcertreq 打印证书请求的内容-printcrl 打印 CRL 文件的内容-storepasswd 更改密钥库的存储口令
4. 参考资料
[1] Keytool入门教程:命令详解 - MyBatis中文官网
[2] https解决方案-利用keytool生成证书_keytool -import 安装证书-CSDN博客