最近項目組要給日本客戶作個產品,升級服務器交由我來升級。爲了測試用,想要在本身電腦上搭個服務器。apache
服務器須要由https登陸,而且不顯示端口號。tomcat
費了些勁兒,看了n多帖子,好不容易弄好了。趁在沒忘記以前,記錄一下,發揚資源共享的做風。服務器
一、首先你的有tomcat 而且好使。工具
我用的是apache-tomcat-6.0.10。測試
二、在tomcat的 conf 下面有個server.xml 文件,其中有這樣一段話,就是配置ssl 的,server
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->xml
這是段帶註釋的代碼,把他改成以下,或者直接替換就可:utf-8
<Connector port="8443" protocol="HTTP/1.1"SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" keystoreFile="C:\tomcat.keystore" keystorePass="net" sslProtocol="TLS" />ssl
三、製做證書(我也是頭次知道https訪問方式須要tomcat證書的)資源
進入到你的jdk文件夾的 bin下面 個人是 C:\Program Files\Java\jdk1.5.0_21\bin,由於咱們須要 裏面的keytool.exe 工具來製做。
生成證書命令:keytool.exe -genkey -alias tomcat -keyalg RSA -keystore C:\tomcat.keystore (注意空格)
輸入keystore密碼: net
您的名字與姓氏是什麼?
[Unknown]: kevin
您的組織單位名稱是什麼?
[Unknown]: neusoft
您的組織名稱是什麼?
[Unknown]: neusoft
您所在的城市或區域名稱是什麼?
[Unknown]: shenyang
您所在的州或省份名稱是什麼?
[Unknown]: liaoning
該單位的兩字母國家代碼是什麼
[Unknown]: CN
CN=www.zm.cn, OU= sanxin, O= sanxin, L=chengdou, ST=sichuan, C=CN 正確嗎?
[否]: Y
輸入tomcat主密碼
(若是和 keystore 密碼相同,按回車):net
[注意:你的保證你的tomcat密碼是 net,若是不是,你能夠去tomcat 中的 conf 文件夾 tomcat-users.xml 文件中 下面去修改,格式以下:
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="net"/>
<role rolename="tomcat"/>
<user username="net" password="net" roles="net"/>
<user username="tomcat" password="neteye" roles="tomcat"/>
<user username="both" password="net" roles="tomcat,net"/>
</tomcat-users>
]
這樣在你的C 盤下面就看到證書tomcat.keystore 了。
四、而後你重啓tomcat 就應該能夠了。
五、如何去掉端口號,把上面 剛剛提到的 server.xml 中的<Connector port="8443" protocol="HTTP/1.1"SSLEnabled="true"。。。。。。。端口號 8443 改成 443 就能夠了。