phpStudy環(huán)境下安裝配置SSL證書實現(xiàn)加密訪問(Https)
說明:本文從:①申請SSL證書、② 下配置SSL證書、③http協(xié)議訪問自動切換至https協(xié)議,三個方面講述SSL證書的安裝配置。
一、何為SSL證書?
SSL證書是什么?
百度百科是這么解釋的:
SSL證書是??數(shù)字證書??的一種,類似于駕駛證、護照和營業(yè)執(zhí)照的電子副本。因為配置在服務器上,也稱為SSL服務器證書。
SSL 證書就是遵守 SSL協(xié)議,由受信任的數(shù)字證書頒發(fā)機構(gòu)CA,在驗證服務器身份后頒發(fā),具有服務器身份驗證和數(shù)據(jù)傳輸加密功能。
簡單理解就是實現(xiàn)數(shù)據(jù)加密傳輸吧。
當你的網(wǎng)站使用SSL證書后,瀏覽器地址欄的鏈接會顯示https,使你的客戶知道你們網(wǎng)站是安全可靠的,能增加用戶對網(wǎng)站的信賴度。
二、何為PHPStudy?
phpStudy是一個PHP調(diào)試環(huán)境的程序集成包。
該程序包集成最新的??Apache???+??PHP???+MySQL+??phpMyAdmin???+??ZendOptimizer??,一次性安裝,無須配置即可使用,是非常方便、好用的PHP調(diào)試環(huán)境·該程序不僅包括PHP調(diào)試環(huán)境,還包括了開發(fā)工具、開發(fā)手冊等·總之學習PHP只需一個包。
可以簡單的理解為,如果你用PHP語言寫了一個服務端Web程序,需要部署到服務器上,則需要使用phpStudy這個集成環(huán)境來運行你寫的PHP程序。
其中,phpStudy自帶MySQL數(shù)據(jù)庫,足夠滿足PHP網(wǎng)站的搭建。
其實和PHPStudy很像的建站集成軟件還有xampp等。如果感興趣可以去了解一下xampp,二者有很大的相似之處。
三、申請阿里云免費SSL證書
在申請SSL證書之前,首先你需要有一個域名。這個域名所歸屬的賬號和申請SSL證書的賬號不要求一致。即域名可以在任意賬號下,只要你有域名解析控制權(quán)即可。
下面講述如何申請阿里云免費的SSL證書。
1、登錄阿里云,進入控制臺,搜索SSL證書服務
如下圖所示,在【產(chǎn)品與服務】欄目中搜索【SSL】即可,【SSL證書】在【安全(云盾)】模塊下。
點擊進入即可。
2、購買SLL證書
如下圖,在【SSL證書管理控制臺】中點擊【購買證書】
3、購買證書
如下圖,選擇【免費型DV SSL】證書,購買即可。
該證書為免費證書,所以一個證書只能綁定一個域名(如:baidu.com和www.baidu.com為同一個域名,而baike.baidu.com則為另一個域名) 。
4、申請簽發(fā)證書
購買SSL證書后,在【SSL證書控制臺】即可看到剛購買的證書,狀態(tài)為未簽發(fā)。
點擊【申請】,申請該證書綁定的域名。
填寫上述表單即可。
- 如果該證書和域名在同一個阿里云賬號下,選擇【自動DNS驗證】即可。
- 如果SSL證書和域名不在同一個阿里云賬號下, 選擇【手工DNS驗證】。也可選擇文件驗證(需要服務器)
點擊下一步。
筆者以不同賬號為例,需要在域名下手動配置TXT記錄,如下圖:
在域名【云解析DNS】下添加上圖這條記錄即可。如下圖:
然后在證書申請頁面,點擊【驗證】,顯示【驗證成功】后,點擊【提交審核】即可。
一般需要幾分鐘就會申請通過。
免費證書是不會給你打電話核實的,但是也不排除有例外。
然后,證書狀態(tài):審核中。如下圖所示。
5、下載證書
審核通過后,即可下載該證書相關(guān)的文件。如下圖所示:
點擊需要配置到服務器的證書后面的【下載】按鈕,即可下載對應的證書文件。
如上圖,有Tomcat、Apache等環(huán)境。
使用phpStudy服務器環(huán)境,推薦使用Apache。
下載服務器類型為Apache的SSL證書文件后,文件中包含三個文件,如下圖所示:
下載的壓縮包文件名中包含該證書所屬的域名,以及該證書適配的服務器環(huán)境。
然后將這些文件上傳到服務器里,接下來需要在服務器里將這個SSL證書配置到phpStudy。
四、SSL證書配置至phpStudy環(huán)境下
1、上傳證書,解壓
前面我們已經(jīng)下載好Apache服務器的證書,將證書上傳至服務器,解壓至任意目錄即可,建議統(tǒng)一存放。
下圖為筆者SSL證書存放在服務器中的路徑,這個路徑記??!后邊要用?。?!
2、開啟SSL服務
在phpStudy主面板中,點擊【其他選項菜單】→【PHP擴展及設(shè)置】→【PHP擴展】,將【php_openssl】參數(shù)勾選,如下圖所示:
這時,打開【httpd.conf】文件,可以看到“LoadModule ssl_module modules/mod_ssl.so”這行代碼前沒有“#”。
如果依舊有“#”,可手動刪除。
然后將【httpd.conf】這個文件滑到最底下,將下圖中紅框內(nèi)的那行代碼前的井號#刪除:
然后保存這個文件,關(guān)閉即可。
到這里,就開啟了SSL服務。
3、配置SSL文件
在phpStudy安裝目錄下,找到【httpd-ssl.conf】文件,一般目錄如下圖所示;
將這個文件使用記事本打開。
默認的文件中自帶很多注釋代碼,如下圖所示,都是如何配置這個SSL文件的說明。如果你是技術(shù)大牛,可以根據(jù)這些英文提示,自行配置SSL證書文件。
其實這些文件,只需要配置幾個地方就可以。但是看著這么多的文字,有點亂糟糟的……
所以筆者將該文件內(nèi)原有代碼刪除,將下面代碼復制進去,然后修改幾個地方就可以:
Listen 443 <VirtualHost *:443> #雙引號內(nèi)為index文件的路徑,替換成自己的 DocumentRoot "C:\WWW\web" #后邊跟該SSL證書文件的域名 ServerName wx.domain.com #同上 ServerAlias wx.domain.com SSLEngine on SSLProtocol TLSv1 TLSv1.1 TLSv1.2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 #這后邊跟自己證書文件的路徑,如下例子所示: SSLCertificateFile C:\WWW\cert\wx\wx.domain.com_public.crt #Public證書文件,替換成自己的 SSLCertificateKeyFile C:\WWW\cert\wx\wx.domain.com.key #KEY證書文件,替換成自己的 SSLCertificateChainFile C:\WWW\cert\wx\wx.domain.com_chain.crt #chain證書文件,替換成自己的 #下面雙引號內(nèi)同上 <Directory "C:\WWW\web"> Options Indexes FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all Require all granted </Directory> </VirtualHost>
如果該服務器有多個域名訪問,可以配置多個SSL證書,只需要將:
<VirtualHost *:443> …… …… </VirtualHost>
內(nèi)的代碼重復復制在后邊即可。
如下圖,筆者就在一個服務器上配置了兩個域名,并且均配置SSL證書:
將上述文件配置完畢后,重啟phpStudy即可。
如果Apache無法啟動,檢查代碼中是否有拼寫錯誤等。
然后就可以在瀏覽器中測試域名https訪問。
五、強制https訪問
如果需要強制https訪問,即使用http訪問時,自動切換到https訪問,也很簡單。
只需要在Web項目的根目錄下創(chuàng)建一個【.htacess】文件,如下:
然后將下面代碼復制進去,保存即可:
RewriteEngine on RewriteBase / RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
如果不知道怎么創(chuàng)建這個只有擴展名的文件,可以從其他地方復制一個。
這時,使用http協(xié)議訪問該Web項目,則自動切換到https協(xié)議。
六、參考文獻:
到此這篇關(guān)于phpStudy環(huán)境下安裝配置SSL證書實現(xiàn)加密訪問(Https)的文章就介紹到這了,更多相關(guān)phpStudy安裝配置SSL加密訪問內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解Centos中mount命令掛載windows7共享目錄
本篇文章主要介紹了Centos中mount命令掛載windows7共享目錄,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03linux進程監(jiān)控與自動重啟的簡單實現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于linux進程監(jiān)控與自動重啟的簡單實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用linux具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-07-07解決linux環(huán)境下時區(qū)無法設(shè)置的問題
在本篇文章里小編給大家整理的是關(guān)于解決linux環(huán)境下時區(qū)無法設(shè)置的問題的方法,需要的朋友們學習下。2020-01-01詳解Centos 7 學習之靜態(tài)IP設(shè)置
本篇文章主要介紹了詳解Centos 7 學習之靜態(tài)IP設(shè)置,具有一定的參考價值,有興趣的可以了解一下。2017-01-01