1. 程式人生 > >[cas]Tomcat配置https環境

[cas]Tomcat配置https環境

Tomcat配置https環境(Windows+Linux)

我需要的主要還是linux下的配置,不過windows下和linux下的原理應該差不多,並且windows下講解比較清楚,因而記錄下來以便於進行對比。

Windows下Tomcat配置https環境:

(1)進入到jdk下的bin目錄

(2)輸入如下指令“keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keystore”


d:/tomcat.keystore是將生成的tomcat.keystore放到d盤根目錄下。注意若要放到c盤,在win7系統下,需要以管理員身份進入到命令列中進行操作,否則是無法建立tomcat.keystore的。本例放到d盤下。
如何以管理員身份進入到命令列下呢?開始->搜尋框中輸入cmd->等待(注意不回車)->出現cmd.exe->右鍵“以管理員身份執行”即可。

解釋:

keytool -genkey:自動使用預設的演算法生成公鑰和私鑰

-alias[名稱]:給證書取個別名

-keyalg:制定金鑰的演算法,如果需要制定金鑰的長度,可以再加上keysize引數,金鑰長度預設為1024位,使用DSA演算法時,金鑰長度必須在512到1024之間,並且是64的整數倍

-keystore:引數可以指定金鑰庫的名稱。金鑰庫其實是存放迷藥和證書檔案,金鑰庫對應的檔案如果不存在會自動建立。

-validity:證書的有效日期,預設是90天

-keypass changeit:不新增證書密碼

-storepass changeit:不新增儲存證書的密碼

輸入相關資訊後,最後確認,便會在tomcat根目錄下生成server.key檔案。

(3)輸入keystore密碼


密碼任意,此處以123456為例,要記住這個密碼,之後在進行server.xml配置時需要使用。

(4)輸入名字、組織單位、組織、市、省、國家等資訊

(5)輸入之後會出現確認的提示

此時輸入y,並回車。此時建立完成keystore。
進入到D盤根目錄下可以看到已經生成的tomcat.xml

(6)輸入tomcat的主密碼


可以直接回車,預設為同keystore的密碼一樣。
之後,會顯示正在儲存即完成。

(7)進入tomcat資料夾

找到conf目錄下的sever.xml並進行編輯

將所有以<Connector port="8443" 開頭的connector註釋。

(8)在sever.xml中新增載入keystore的程式碼


注意方框中的keystore的密碼,就是剛才我們設定的“123456”.
編輯完成後關閉並儲存sever.xml。

(9)啟動tomcat。

若出現如下錯誤“Keystore was tampered with,or password was incorrect”,即第(8)步設的密碼出錯了。請核對密碼,重新編寫sever.xml。

(10)啟動成功後,使用https://127.0.0.1:8443 訪問頁面

頁面成功開啟即tomcat下的https配置成功。

(11)應用程式HTTP自動跳轉到HTTPS

在應用程式中web.xml中加入:

<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>

(12)注意事項

1. 生成證書的時間,如果IE客戶端所在機器的時間早於證書生效時間,或者晚於有效時間,IE會提示“該安全證書已到期或還未生效”

2.如果IE提示“安全證書上的名稱無效或者與站點名稱不匹配”,則是由生成證書時填寫的伺服器所在主機的域名“您的名字與姓氏是什麼?”/“What is your first and last name?”不正確引起的

支援特定頁面採用HTTPS傳輸,普通頁面採用HTTP傳輸:

HTTPS相比HTTP來說,最大的好處就是安全,但是為了安全付出的代價是犧牲了效能。

所有我們需要採取控制,對特定需要https的頁面採用https傳輸,普通頁面採取http傳輸。

我們採用了過濾器,過濾器中的邏輯是這樣子的,分為四種情況:

1.當前協議是HTTPS,當前請求的URL是需要採取HTTPS傳輸的URL,直接請求頁面

2.當前協議是HTTPS,當前請求的URL是不需要採取HTTPS傳輸的URL,重定向到HTTP的埠

3.當前協議是HTTP,當前請求的URL是不需要採取HTTPS傳輸的URL,直接請求該頁面

4.當前協議是HTTP,當前請求的URL是需要採取HTTPS傳輸的URL,重定向到HTTPS的埠。

1:安裝jdk,
[root@localhost ~]# ls jdk-1_5_0_19-linux-i586.bin
jdk-1_5_0_19-linux-i586.bin
[root@localhost ~]# pwd
/root
[root@localhost ~]# chmod a+x jdk-1_5_0_19-linux-i586.bin 
[root@localhost ~]# ./jdk-1_5_0_19-linux-i586.bin
 
在當前目錄下生成jdk1.5.0_19目錄。 
我把它移到/usr/local目錄下。 
[root@localhost ~]# mv jdk1.5.0_19  /usr/local/
[[email protected] local]# ln -s jdk1.5.0_19 jdk

下面是配置路徑:
[[email protected] local]# vi /etc/profile
在檔案的最後加入:
export JAVA_HOME=/usr/local/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然後執行如下命令使得不重啟機器就生效:
[[email protected] local]# source  /etc/profile
2:安裝tomcat, 其實上面配置路徑就是為了tomcat能正常啟動, 因為tomcat啟動時需要用到到jdk,

[[email protected] local]# tar zxvf apache-tomcat-5.5.26.tar.gz
[[email protected] local]# ln -s apache-tomcat-5.5.26 tomcat5.5

3:生成證書:
[[email protected] ~]# keytool -genkey -alias .keystore -keyalg RSA
Enter keystore password:  hellohello
What is your first and last name?
[Unknown]:  liu  #這項要和你linux server的機器名一樣,這樣有好處!查linux server的機器名,可以用hostname命令
What is the name of your organizational unit?
[Unknown]:  bea
What is the name of your organization?
[Unknown]:  bea
What is the name of your City or Locality?
[Unknown]:  suzhou
What is the name of your State or Province?
[Unknown]:  suzhou
What is the two-letter country code for this unit?
[Unknown]:  cn
Is CN=liu, OU=bea, O=bea, L=suzhou, ST=suzhou, C=cn correct?
[no]:  yes

Enter key password for <.keystore>
        (RETURN if same as keystore password):  hellohello
 
尤其注意:兩次輸入的密碼一定要一樣!而且生成的.keystore的位置在~下(我用的是root,故在/root下) 
[[email protected] ~]# find / -name .keystore
/root/.keystore
然後複製該檔案到/usr/local/tomcat5.5下(我tomcat安裝在/usr/local目錄下!) 
檢視該檔案的時候用ls -a 
4:對server.xml做配置, 
[[email protected] ~]# cd /usr/local/tomcat5.5/
[[email protected] tomcat5.5]# ls
bin  common  conf  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  server  shared  temp  webapps  work
[[email protected]st tomcat5.5]# pwd
/usr/local/tomcat5.5
[[email protected] tomcat5.5]# ls -a
.  ..  bin  common  conf  .keystore  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  server  shared  temp  webapps  work
[[email protected] tomcat5.5]# cd conf/
[[email protected] conf]# ls
Catalina  catalina.policy  catalina.properties  context.xml  logging.properties  server-minimal.xml  server.xml  tomcat-users.xml  web.xml
[[email protected] conf]# pwd
/usr/local/tomcat5.5/conf
[[email protected] conf]# vi  server.xml
  
修改部分如下: 
先把關於下面的注視去掉: 
   <Connector port="443" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" disableUploadTimeout="true"
               acceptCount="100" scheme="https" secure="true"
               keystoreFile="/usr/local/tomcat/.keystore"
               keystorePass="hellohello"
               clientAuth="false" sslProtocol="TLS"
 />
粗體是我修改的部分 
4: 啟動tomcat  
[email protected] conf]# cd /usr/local/tomcat5.5/
[[email protected] tomcat5.5]# ls
bin  common  conf  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  server  shared  temp  webapps  work
[[email protected] tomcat5.5]# cd bin/
[[email protected] bin]# ls
bootstrap.jar       commons-logging-api-1.1.1.jar  jmxaccessor-tasks.xml  shutdown.bat  tomcat5w.exe          version.bat
catalina.bat        cpappend.bat                   jsvc.tar.gz            shutdown.sh   tomcat-juli.jar       version.sh
catalina.sh         digest.bat                     service.bat            startup.bat   tomcat-native.tar.gz
catalina-tasks.xml  digest.sh                      setclasspath.bat       startup.sh    tool-wrapper.bat
commons-daemon.jar  jkstatus-tasks.xml             setclasspath.sh        tomcat5.exe   tool-wrapper.sh
[[email protected] bin]# pwd
/usr/local/tomcat5.5/bin
[[email protected] bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat5.5
Using CATALINA_HOME:   /usr/local/tomcat5.5
Using CATALINA_TMPDIR: /usr/local/tomcat5.5/temp
Using JRE_HOME:       /usr/local/jdk
[[email protected] bin]# netstat -antl | grep 443
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN     
[[email protected] bin]# 
這裡tomcat已經啟動了。  
5:測試:啟動瀏覽器

相關推薦

[cas]Tomcat配置https環境

Tomcat配置https環境(Windows+Linux) 我需要的主要還是linux下的配置,不過windows下和linux下的原理應該差不多,並且windows下講解比較清楚,因而記錄下來以便於進行對比。 Windows下Tomcat配置https環境: (1)進入到jdk下的bin目錄 (

tomcat配置https環境

在網上搜了一下,內容不是很完善。現進行整理,做個學習筆記,以備以後使用。 (1)進入到jdk下的bin目錄 (2)輸入如下指令“keytool -v -genkey -alias tomcat -keyalg RSA -keystore d:/tomcat.keyst

eclipse下的tomcat配置https(最簡單得配置https

如果 希望 alias lib connector connect eclipse cnblogs itl 近期公司列出一大堆的東西,其中包括https,啥也不想說,你們是無法理解的苦逼的我的 關於https這些通道可以去百度Google其原理,不廢話,自動生成秘鑰,需要使

Nginx+Tomcat配置https

dir source blank location prefix targe tps suffix session Nginx + Tomcat 配置 HTTPS 1、總述 瀏覽器和 Nginx 之間走的 HTTPS 通訊,而 Nginx 到 Tomcat 通過 proxy

tomcat配置環境變量catalina.home和catalina.base 區別

理解 style 運行 備份 安裝目錄 /usr http webapp 文章 本篇文章原創地址為:http://blog.csdn.net/you23hai45/article/details/27726147 這兩個屬性僅在你需要安裝多個Tomcat實例而不想安裝多

tomcat配置https方式訪問

web tomcat部署 rect serve led 字符 是你 eve tomcat 1.cmd 命令下,然後在jdk的bin的目錄下執行 keytool -genkey -alias tomcat -keyalg RSA -keystore F:\tomcat.k

tomcat 配置https

tls efi const prot jks serve eth direct als 修改tomcat/conf/server.xml <Connector port="80" protocol="HTTP/1.1" connecti

tomcat配置HTTPS

size auth collect data rst www. 協議 cat aop SSL協議使用不對稱加密技術實現雙方之間信息的安全傳遞。可以實現信息傳遞的保密性、完整性,並且會話雙方能鑒別對方身份。 與網站建立https連接時,瀏覽器與WEB SERVER之間要經過一

Nginx、Tomcat配置https

conn sch apache 分享 port led rtk test event 一、Nginx、Tomcat配置https   前提就是已經得到了CA機構頒發的證書 一、合並證書   1、假設證書文件如下   秘鑰文件server.key,證書CACert

Linux下 nginx+tomcat配置https的總結和遇到的坑

master gcc apache ddr code style remote protocol lis 證書的獲取略 服務器的端口443確保外界網絡能夠進行訪問。 是否配置https: nginx:是 tomcat:否 1.首先查看nginx是否支持SSL。 參考鏈接:

tomcat配置https自簽名證書(keytool生成)

pri list tin led str orm unit lock pass tomcat配置https自簽名證書(keytool生成) 生成keystore keytool -genkeypair -alias "server" -keyalg &

keytool+tomcat配置HTTPS雙向證書認證

tomcat-7 exp html 保存 store 本地 -i window 目錄 系統需求: 1、 Windows系統或Linux系統 2、 安裝並配置JDK 1.6.0_13 3、 安裝並配置Tomcat 6.0 一、服務器證書 創建證書存儲目錄“D:\hom

Tomcat 配置https協議

記錄一下為了使Tomcat容器支援https協議所做的配置步驟 1.首先部署Tomcat的環境,從apache官方網站上下載解壓版tomcat解壓後防止某個目錄即可,不再贅述 2.使用java自帶的工具生成安全證書 進入jdk安裝目錄下的bin資料夾,進入dos介面(資源管理器進入該

tomcat 配置 https 用keytools

生成jks keytool -genkey -alias test -keyalg RSA -keysize 1024 -keystore test.jks -validity 365 將jks 移入${tomcat_home}/conf server.xml配置 <

Tomcat: 配置https(第三方CA簽發)

版本:tomcat8,jdk1.7 1.製作jks #產生keystore keytool -genkey -alias server -keyalg RSA -keysize 2048 -keystore www.myweb.cn.jks -storepass password -ke

Tomcat8配置Https協議,Tomcat配置Https安全訪問,Tomcat Https配置

Tomcat8配置Https協議,Tomcat配置Https安全訪問,Tomcat Https配置   ============================== ©Copyright 蕃薯耀 2017年11月06日 http://www.cnblogs.com

tomcat配置https訪問

一.  建立tomcat證書 使用JDK自帶的keytool工具來生成證書: 1. 開啟cmd,啟動keytool 2. 在命令列中輸入以下命令: keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "c:\tomcat.keys

linux下tomcat配置https

其實很簡單,就兩步。 第一步,用jdk自帶的keytool工具生成一個金鑰 keytool -genkey -alias tomcat -keyalg RSA -keystore /自己的tomcat安裝路徑/conf/.keystore 下面的組織、公司、單位、城市什

Tomcat配置 https SSL證書

公司網站連結要由原來的http超文字傳輸協議訪問改為https SSl加密傳輸協議訪問。 HTTP與HTTPS的區別:HTTP協議傳輸的資料都是未加密的,也就是明文的,因此使用HTTP協議傳輸隱私資訊

Nginx、tomcat配置https證書申請

證書的申請及Nginx和tomcat所需的檔案 近期部署公司主頁,要配置成https訪問,研究了下Nginx和tomcat配置https 所需的檔案及步驟,在這裡介紹從godaddy申請證書及配置的一系列操作 1.證書申請 Godaddy是一家提供域名註冊和網際網路