tomcat設定http自動跳轉為https訪問
一、生成伺服器端證照檔案
可以使用Windows系統或者Linux系統
(1)Windows環境
條件:已經安裝JDK
步驟:
1、在執行裡輸入cmd進入命令視窗
2、進入JDK安裝目錄 如D:/Program Files/Java/jdk1.6.0/bin
3、執行命令 keytool -genkey -alias tomcat -keyalg RSA -keystore E:\tomcat.keystore -validity 36500
引數簡要說明:“E:\tomcat.keystore”含義是將證照檔案儲存在E盤,證照檔名稱是tomcat.keystore ;“-validity 36500”含義是證照有效期,36500表示100年,預設值是90天
4、在命令列填寫必要的引數:
A、輸入keystore密碼:此處需要輸入大於6個字元的字串
B、“您的名字與姓氏是什麼?”這是必填項,並且必須是TOMCAT部署主機的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址
C、“你的組織單位名稱是什麼?”、“您的組織名稱是什麼?”、“您所在城市或區域名稱是什麼?”、“您所在的州或者省份名稱是什麼?”、“該單位的兩字母國家程式碼是什麼?”可以按照需要填寫也可以不填寫直接回車,在系統詢問“正確嗎?”時,對照輸入資訊,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的資訊
D、輸入<tomcat>的主密碼,這項較為重要,會在tomcat配置檔案中使用,建議輸入與keystore的密碼一致,設定其它密碼也可以
5、完成上述輸入後,直接回車則在你在第二步中定義的位置找到生成的檔案
(2)Linux環境
條件:安裝了JDK
步驟:
1、進入JDK安裝目錄 如/root/Oracle/Middleware/jdk160_11/bin
2、執行命令 ./keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/tomcat.keystore -validity 36500
引數簡要說明:“/etc/tomcat.keystore”含義是將證照檔案儲存在路徑/usr/local/下,證照檔名稱是tomcat.keystore ;“-validity 36500”含義是證照有效期,36500表示100年,預設值是90天
3、在命令列填寫必要的引數:
A、Enter keystore password:此處需要輸入大於6個字元的字串
B、“What is your first and last name?”這是必填項,並且必須是TOMCAT部署主機的域名或者IP[如:gbcom.com 或者 10.1.25.251],就是你將來要在瀏覽器中輸入的訪問地址
C、“What is the name of your organizational unit?”、“What is the name of your organization?”、“What is the name of your City or Locality?”、“What is the name of your State or Province?”、“What
is the two-letter country code for this unit?”可以按照需要填寫也可以不填寫直接回車,在系統詢問“correct?”時,對照輸入資訊,如果符合要求則使用鍵盤輸入字母“y”,否則輸入“n”重新填寫上面的資訊
D、Enter key password for <tomcat>,這項較為重要,會在tomcat配置檔案中使用,建議輸入與keystore的密碼一致,設定其它密碼也可以
4、 完成上述輸入後,直接回車則在你在第二步中定義的位置找到生成的檔案
二、配置TOMCAT伺服器
(1) 如果你是在Windows環境中生成證照檔案,則需要將生成的證照tomcat.keystore拷貝到Tomcat將要引用的位置,假設tomcat的應用證照的路徑是“E:/tomcat.keystore”,則需要將證照檔案拷貝到E盤下;
(2) 配置Tomcat,開啟tomcat配置檔案,如:D:/apache-tomcat-6.0.29/conf/server.xml,修改如下,
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改引數=>
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
-->
去掉註釋且修改引數=>
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" keystoreFile="E:/tomcat.keystore" keystorePass="123456789"/>
註釋:標識為淡藍色的兩個引數,分別是證照檔案的位置和<tomcat>的主密碼,在證照檔案生成過程中做了設定
<!--
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="8443" />
-->
修改引數=>
<Connector port="8009" enableLookups="false" protocol="AJP/1.3" redirectPort="443" />
(3) 開啟D:/apache-tomcat-6.0.29/conf/web.xml,在該檔案</welcome-file-list>後面加上這樣一段:
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<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>
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<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>
四、注意事項:
(1)生成證照的時間,如果IE客戶端所在機器的時間早於證照生效時間,或者晚於有效時間,IE會提示“該安全證照已到期或還未生效”
(2)如果IE提示“安全證照上的名稱無效或者與站點名稱不匹配”,則是由生成證照時填寫的伺服器所在主機的域名“您的名字與姓氏是什麼?”/“What is your first and last name?”不正確引起的
五、遺留問題:
(1)如果AC主機不能通過域名查詢,必須使用IP,但是這個IP只有在配置後才能確定,這樣證照就必須在AC確定IP地址後才能生成
(2)證照檔案只能繫結一個IP地址,假設有10.1.25.250 和 192.168.1.250 兩個IP地址,在證照生成檔案時,如使用了10.1.25.250,通過IE就只能使用10.1.25.250 來訪問AC-WEB,192.168.1.250是無法訪問AC-WEB的。
相關文章
- 如何設定HTTP自動跳轉到HTTPSHTTP
- http 升級為 https 訪問HTTP
- Harbor設定https訪問HTTP
- 完美解決瀏覽器輸入http被自動跳轉至https問題瀏覽器HTTP
- NGINX使用rewrite實現http 跳轉 httpsNginxHTTP
- tomcat8配置https協議訪問TomcatHTTP協議
- IIS7 IIS8 自動跳轉到HTTPS – HTTPS SSL 教程HTTP
- linux tomcat 開通443 (用https安全訪問)LinuxTomcatHTTP
- nginx開啟HSTS讓瀏覽器強制跳轉HTTPS訪問Nginx瀏覽器HTTP
- centos7 設定tomcat自啟動CentOSTomcat
- win10怎麼設定ftp為主動訪問模式_win10設定ftp為主動訪問模式教程Win10FTP模式
- Tomcat全域性/區域性https訪問配置方法TomcatHTTP
- Linux配置JavaEE環境 Linux中安裝JDK、Tomcat、mysql 設定Tomcat自啟動、設定mysql自啟動LinuxJavaJDKTomcatMySql
- 恆訊科技教你:http怎麼直接跳轉到https?HTTP
- 使用CloseableHttpClient 訪問 http 和https 的get請求HTTPclient
- iOS App無需跳轉系統設定自動連線Wi-FiiOSAPP
- Linux之換源、Tomcat及jdk的安裝配置和設定Tomcat自動啟動LinuxTomcatJDK
- HTTP與HTTPS:為什麼HTTPS比HTTP更安全?HTTP
- 阿里雲配置http轉https阿里HTTP
- 如何把HTTP轉成HTTPS?HTTP
- 如何使用自籤CA配置HTTPS加密反向代理訪問?HTTP加密
- 網站域名部署ssl證書後,http怎樣做301跳轉到https網站HTTP
- 為Docker容器設定http代理DockerHTTP
- [踩了個坑] Laravel 訪問https網址,url('/')竟然只返回 http?LaravelHTTP
- tomcat+jsp訪問mysqlTomcatJSMySql
- 本地Tomcat外網訪問Tomcat
- postgresql如何設定外界訪問SQL
- 阻止a標籤的跳轉,a標籤自動跳轉引起的錯誤
- PBOOTCMS網站訪問頁面提示:您訪問的頁面不存在,請核對後重試!如何改成自動404跳轉頁面boot網站
- Vue學習:實現使用者沒有登陸時,訪問後自動跳轉登入頁面Vue
- 為Tomcat設定自己的管理賬號Tomcat
- 使用 Lets-encrypt 為 Tomcat 配置 httpsTomcatHTTP
- eclipse能正常啟動tomcat,但是網頁訪問不了EclipseTomcat網頁
- 404頁面自動跳轉到首頁
- windows設定僅訪問特定ipWindows
- PHPMyAdmin 設定阿里雲rds訪問PHP阿里
- Tomcat訪問日誌淺析Tomcat
- 如何將自己的網站從 HTTP 的轉換為 HTTPS 的網站HTTP
- 自動識別PC端、移動端,並跳轉