tomcat-ssl證書
創(chuàng)建證書
注意 :下面的是實(shí)驗(yàn)使用的脏嚷,真實(shí)環(huán)境下需要去購買證書
$ keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "localhost-rsa.jks"
Enter keystore password: #輸入密鑰存儲(chǔ)庫密碼:
Re-enter new password: #重新輸入新密碼:
What is your first and last name? #你的姓和名是什么?
[Unknown]: pich
What is the name of your organizational unit? #您的組織單位的名稱是什么?
[Unknown]: pich
What is the name of your organization? #您的組織名稱是什么?
[Unknown]: tomcat
What is the name of your City or Locality? #你的城市或地區(qū)叫什么名字?
[Unknown]: beijing
What is the name of your State or Province? #你的州或省叫什么名字?
[Unknown]: beijing
What is the two-letter country code for this unit? #這個(gè)單位的國(guó)家代碼是什么?
[Unknown]: cn
Is CN=pich, OU=pich, O=tomcat, L=beijing, ST=beijing, C=cn correct? #問你上方的輸入正確嗎
[no]: y
Enter key password for <tomcat> #輸入<tomcat>的密鑰密碼
(RETURN if same as keystore password):
Re-enter new password:
首先將上面生成的localhost-rsa.jks文件拷貝到Tomcat的conf目錄县爬,然后打開該目錄下面的server.xml文件漱办,
### 修改配置文件
# 打開server.xml配置文件默認(rèn)是注釋的需要打開咱台,端口默認(rèn)是8443我修改成了443
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" SLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/localhost-rsa.jks" #證書的路徑
keystorePass="123456" #創(chuàng)建證書時(shí)的密碼
/>
#這樣設(shè)置還不行需要設(shè)置一個(gè)跳轉(zhuǎn)惕味,只要訪問80端口就轉(zhuǎn)發(fā)到443端口启盛,端口號(hào)初始時(shí)8080是我改成了80端口
<Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="443" /> #轉(zhuǎn)發(fā)到443端口
設(shè)置強(qiáng)制使用https訪問
修改配置文件 conf /web.xml
在<web-app></web-app>中凡桥,</welcome-file-list>之后添加
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
## 設(shè)置tomcat的域名
#添加本地解析
vim /etc/hosts
#綁定配置文件tomcat 下的 conf /server.xml
修改內(nèi)容一:
<Engine name="Catalina" defaultHost="www.aaa.com"> #綁定地址名
修改內(nèi)容二:
<Host name="www.aaa.com" appBase="webapps" #www.aaa.com就是我設(shè)置的域名
unpackWARs="true" autoDeploy="true">
重新啟動(dòng)tomcat訪問就可以看到效果了