因爲以前一直忙於服創比賽,而後就致使很久沒寫博客了。 如今服創結束也有十來天了,感受不寫點什麼就對不起本身了。 因而乎,就寫寫將網站從http升級到https的過程吧。
首先域名和服務器天然是必須的,大體流程分爲如下幾部:web
- 申請https證書
- 上傳文件至服務器
- 配置https
申請https證書
https證書一般是收費的, 不過也有免費版的能夠使用。我使用的是在騰訊雲上申請的免費版,下面就以騰訊雲的爲例講解吧。 首先進入騰訊雲中雲產品列表,選擇SSL證書管理 ,進入登陸後大概是這個樣子瀏覽器
而後是選擇 申請免費證書,而後選擇 ‘免費版DVSSL證書’ 那一個,隨後填寫域名信息和郵箱,其他的隨意了。須要注意的是,這裏申請的免費證書不能用於子域名,若是子域名要用的話,還須要另外申請。 而後下一步,按提示添加域名的解析記錄(推薦使用這種方法進行域名認證),認證成功以後便馬上會審覈成功,而後就能夠下載證書文件了。安全
上傳文件至服務器
證書文件下載後,大概是這個樣子服務器
包含了比較主流的容器的證書文件。咱們點擊Tomcat進入後,有這兩個文件 app
第一個即 Java KeyStore (JKS),即證書文件; 第二個即密碼; 而後咱們將第一個文件複製到服務器,我使用的是scp命令(Windows中PowerShell好像有這個命令): scp C:\Users\Asche\home.asche.top.jks root@home.asche.top:/root 其中左邊的參數是本地中文件的位置,右邊是 用戶@域名:目錄 隨後按提示繼續以及輸入密碼便可。 第二個文件就不用傳了,畢竟就一個密碼,特別短。ssh
Tomcat配置https
ssh登陸服務器,進入Tomcat的根目錄後,首先將證書文件拷貝至conf目錄下,而後編輯conf目錄下的server.xml文件,在Connector同級標籤下,添加如下代碼:網站
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" keystoreFile="conf/******.jks" keystorePass="******" clientAuth="false" sslProtocol="TLS" />
其中443表明https監聽的端口。而且記得將上面的***替換爲你的具體信息,上面那個爲證書文件,下面那個即以前沒有上傳的那個文件內的密碼,直接複製粘貼上來就好了。url
而後重啓Tomcat以後,瀏覽器裏就能夠以Https://域名 的方式訪問你的網站了。spa
若是還想讓網站都以https的方式訪問的話,還須要進一步設置。 首先仍是修改conf下的的server.xml文件,將默認的8080端口改成80端口後,再將其中的重定向端口改成443,改完以後大概是這個樣子code
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="443" />
到這裏尚未結束,還須要修改conf目錄下的web.xml文件,來到文件的末尾,在web-app標籤結束前添加如下代碼:
<security-constraint> <web-resource-collection> <web-resource-name>Protected Context</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <!-- auth-constraint goes here if you requre authentication --> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
即一些安全相關的配置。添加保存後,重啓Tomcat,再以http的方式訪問的你的網站,它就會自動重定向443端口,即以https的方式訪問了。 好了,教程結束!