Linux下centos7+apache tomcat 7 配置專案只輸入IP即登陸到專案並且強制啟用Https的配置方法
阿新 • • 發佈:2019-01-04
-
生成可用的keystore
- 在windows下,開啟cmd命令列,執行keytool -genkey -alias tomcat -keyalg RSA -keystore d:\tomcatSSL.keystore命令,其中-alias後面的引數是你keystore的別名,-keystore後面是你keystore的生成位置,這兩個可以自行配置。生成後講keystore檔案匯入centos下的tomcat安裝的目錄下的conf,可以存放到任意位置,第二步中的引數有相關配置,如果進行了自定義請記得修改。
-
修改相關配置檔案
-
%tomcat%/conf/server.xml
-
這個檔案需要修改的是
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
改成如下:
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
這條中的port由8080改為了80,80是ip輸入後預設的埠,能夠使講直接輸入的ip引導至tomcat服務中。
然後是這一條,這一條原本是被註釋掉的,注意釋放出來再進行更改:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false"
sslProtocol="TLS" />
改成如下:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="conf/tomcatSSL.keystore" keystorePass="123456" />
keystoreFile="conf/tomcatSSL.keystore" keystorePass="123456"
這兩個引數根據你自定義的keystore名字和存放位置及密碼的不同自行進行修改
最後:
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
改為:
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
然後儲存。
-
%tomcat%/conf/web.xml
在檔案尾部<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>
這段程式碼可以使tomcat強制使用https進行登入,如果不需要可以不用改
最後把你的war包名字改為ROOT,並刪除%tomcat%/webapps下的ROOT資料夾,啟動tomcat,整體功能就完成了。訪問專案時會出現不被信任的證書,那是因為你放在conf下的證書是你自己生成的,沒有被認證,如果要認證需要到有資質的中心進行認證。如果出現了invaild keystore format ,是因為你keystore的格式無法解析,在生成完keystore的時候,cmd會提示讓你使用另一個命令切換RSA格式到貧pkcs12,不要切換,切換後就會出現前面的異常。