如果大家在瀏覽百度、或者Google時(shí)不難發(fā)現(xiàn),這些網(wǎng)站都實(shí)現(xiàn)了全站https,https相對(duì)于http而言,由于增加的ssl隧道傳輸機(jī)制,安全性得到了極大的提升,所以全站https將是未來(lái)站點(diǎn)的趨勢(shì)所在,而httpd默認(rèn)是不支持https的,由于httpd有著強(qiáng)大的模塊支持,這里我們通過(guò)httpd眾多模塊中的一個(gè)——mod_ssl來(lái)實(shí)現(xiàn)https。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的相城網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
我們都知道,http是基于文本協(xié)議來(lái)傳輸數(shù)據(jù)的,默認(rèn)是使用tcp的80端口對(duì)外通信的,而https則不同,https基于二進(jìn)制格式的協(xié)議傳輸,安全性得到了保證,默認(rèn)使用tcp的443端口來(lái)通信。由于SSL會(huì)話是基于IP地址進(jìn)行的,故而不支持在基于FQDN的虛擬主機(jī)上實(shí)現(xiàn)。
首先需要安裝mod_ssl模塊:
]# yum -y install mod_ssl
生成的文件:
]# rpm -ql mod_ssl /etc/httpd/conf.d/ssl.conf //配置文件,需要指明我們的證書所在位置,下面要用到 /etc/httpd/conf.modules.d/00-ssl.conf /usr/lib64/httpd/modules/mod_ssl.so /usr/libexec/httpd-ssl-pass-dialog /var/cache/httpd/ssl
安裝完成后需確保模塊裝載:
]# httpd -M Loaded Modules: ... \\此處省略 ssl_module (shared) //確保此模塊已裝載 ... \\此處省略
此時(shí)啟動(dòng)httpd服務(wù):
] # systemctl start httpd
確保tcp的80和443端口已經(jīng)監(jiān)聽(tīng):
要想使用https,服務(wù)器需要證書(公鑰和私鑰),可以在/etc/pki/tls/certs/目錄下執(zhí)行make命令來(lái)創(chuàng)建測(cè)試證書:
創(chuàng)建私鑰:
為了私鑰的安全性,要把私鑰放在系統(tǒng)指定目錄:
cp auth.key /etc/pki/CA/private/
創(chuàng)建證書:
至此,供實(shí)驗(yàn)使用的證書文件已創(chuàng)建完畢,下面修改mod_ssl配置文件來(lái)知名我們的證書存放位置:
編輯配置文件:
]# vim /etc/httpd/conf.d/ssl.conf
并做修改如下:
重啟httpd服務(wù):
查看端口監(jiān)聽(tīng)情況:
把證書文件拷貝到測(cè)試主機(jī)上:
]# scp auth.crt tony@192.168.1.105:~/Desktop/
復(fù)制成功后,桌面有個(gè)文件auth.crt文件,雙擊導(dǎo)入系統(tǒng):
打開(kāi)瀏覽器,輸入網(wǎng)址,測(cè)試:
至此,基于httpd的mod_ssl模塊實(shí)現(xiàn)https就成功了。