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 更改密钥库的存储口令