溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LAMP環(huán)境添加SSL證書,使網(wǎng)站變成HTTPS加密傳輸

發(fā)布時間:2020-07-02 12:02:39 來源:網(wǎng)絡 閱讀:1490 作者:pangfc 欄目:開發(fā)技術(shù)

一 簡介

目前國內(nèi)大部分網(wǎng)站都是采用的HTTP協(xié)議,也就是明文傳輸數(shù)據(jù),與此同時SSL證書最近幾年逐漸開始在國外普及。安裝SSL證書之后數(shù)據(jù)就可以進行加密傳輸,在瀏覽器中看到的效果就是:在地址欄前面帶有一個綠色小鎖,同時URL地址是以HTTPS開頭的

下面我將簡單介紹如果在LAMP環(huán)境(Linux+Apache+MySQL+PHP)下添加SSL證書的詳細步驟:

二 獲取證書

付費的證書有很多,這里就不說了。關于免費證書據(jù)我了解的就有:沃通免費SSL證書以及StartSSL免費SSL證書。如果想要申請沃通的免費SSL證書可以去它官網(wǎng)申請,當然我怕麻煩就直接在“景安網(wǎng)絡”申請了免費證書(PS:實際上也是沃通的免費SSL證書)。申請過程很簡單,只需要填幾項基本信息再加上驗證網(wǎng)站身份就OK了,不到半天的時間就可以收到領取證書的郵件了

得到證書后,由于我這里是LAMP環(huán)境,因此打開“for Apache”那個壓縮包,可以看到一共有三個文件,它們分別是:

  • 1_root_bundle.crt  中級CA證書

  • 2_www.tar.pub.crt  公鑰

  • 3_www.tar.pub.key  私鑰

注:這三個文件在后面都會使用,需要傳到VPS上的Apache的配置文件目錄中去

三 安裝配置

(1)安裝openssl:

關于openssl的安裝可以采用源碼編譯安裝,也可以直接使用yum或者apt-get來自動安裝:

root@www:~# apt-get install -y openssl

(2)修改apache安裝目錄下conf目錄中的httpd.conf文件:

root@www:~# vim /usr/local/apache/conf/httpd.conf

修改以下內(nèi)容:

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

即:刪掉代碼前的注釋符

(3)修改apache安裝目錄下conf/extra目錄中的httpd-ssl.conf文件:

root@www:~# vim /usr/local/apache/conf/extra/httpd-ssl.conf

修改以下內(nèi)容:

i)公鑰的路徑:

SSLCertificateFile "/usr/local/apache/conf/2_www.tar.pub.crt"

注:這里指向你自己的真實公鑰文件路徑即可

ii)私鑰的路徑:

SSLCertificateKeyFile "/usr/local/apache/conf/3_www.tar.pub.key"

iii)中級CA證書路徑:

SSLCertificateChainFile "/usr/local/apache/conf/1_root_bundle.crt"

iv)修改SSL加密策略:

SSLProtocol  all -SSLv2 -SSLv3
SSLCipherSuite ALL:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA

注:

  • SSLProtocol的配置是指定 SSL 連接方式,不包含 SSLv2 和 SSLv3,這兩種已不安全

  • SSLCipherSuite 的配置是指定了加密套件,這里去除了一些不再安全的一些方式


v)修改網(wǎng)站根目錄路徑:

DocumentRoot "/data/www/owncloud"
ServerName www.tar.pub
ServerAlias tar.pub
DocumentRoot "/data/www/owncloud"
ServerName www.tar.pub
ServerAlias tar.pub

注:

  • ServerName 是網(wǎng)站主域名,指定為你自己的

  • ServerAlias 是網(wǎng)站的其他域名,可定義多行,也可不定義。不定義的話,就刪除該行

  • Directory 是和 DocumentRoot 一致的,是對文件夾一些屬性的定義


(4)重啟Apache:

root@www:~# service httpd restart

查看Apache監(jiān)聽的端口:

root@www:~# netstat -anp | grep httpd

最后就是訪問我們的網(wǎng)站,發(fā)現(xiàn)已經(jīng)可以通過HTTPS來訪問了

 

附:如果配置,使在訪問HTTP站點時強制跳轉(zhuǎn)到對應的HTTPS站點?

只需要在網(wǎng)站根目錄下的.htaccess文件中添加以下內(nèi)容即可:

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

這段話的意思是如果訪問的端口不是443的話,那么就強制跳轉(zhuǎn)到對應的HTTPS頁面去

最后,https://www.tar.pub 這個站點是我最近新建的一個私有云(盤),在上面舉例說的就是這個站點了

 

參考文章:

  • https://www.zzidc.com/main/help/showHelpContent/id_457.html


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI