您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux apache怎么實現(xiàn)https的配置的相關(guān)知識,內(nèi)容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Linux apache怎么實現(xiàn)https的配置文章都會有所收獲,下面我們一起來看看吧。
  應(yīng)用層協(xié)議,傳輸層使用TCP協(xié)議,默認使用80端口。http協(xié)議主要是用來是實現(xiàn)萬維網(wǎng)站點資源的訪問。
  全稱為Secure Sockets Layer。工作與傳輸層和應(yīng)用層之間,實現(xiàn)對應(yīng)用層協(xié)議的網(wǎng)絡(luò)連接進行加密。
  http協(xié)議+ssl協(xié)議。默認使用tcp的443端口。
https協(xié)議的工作過程:
客戶端發(fā)起HTTPS請求
  用戶在瀏覽器里輸入一個https網(wǎng)址,然后連接到服務(wù)器的443端口
服務(wù)端的配置
  采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請。區(qū)別就是自己頒發(fā)的證書需要客戶端驗證通過,才可以繼續(xù)訪問,而使用受信任的公司申請的證書則不會彈出提示頁面。這套證書其實就是一對公鑰和私鑰
傳送服務(wù)器的證書給客戶端
  證書里其實就是公鑰,并且還包含了很多信息,如證書的頒發(fā)機構(gòu),過期時間等等
客戶端解析驗證服務(wù)器證書
  這部分工作是由客戶端的TLS來完成的,首先會驗證公鑰是否有效,比如:頒發(fā)機構(gòu),過期時間等等,如果發(fā)現(xiàn)異常,則會彈出一個警告框,提示證書存在問題。如果證書沒有問題,那么就生成一個隨機值。然后用證書中公鑰對該隨機值進行非對稱加密
客戶端將加密信息傳送服務(wù)器
  這部分傳送的是用證書加密后的隨機值,目的就是讓服務(wù)端得到這個隨機值,以后客戶端和服務(wù)端的通信就可以通過這個隨機值來進行加密解密了
服務(wù)端解密信息
  服務(wù)端將客戶端發(fā)送過來的加密信息用服務(wù)器私鑰解密后,得到了客戶端傳過來的隨機值
服務(wù)器加密信息并發(fā)送信息
  服務(wù)器將數(shù)據(jù)利用隨機值進行對稱加密,再發(fā)送給客戶端
客戶端接收并解密信息
  客戶端用之前生成的隨機值解密服務(wù)段傳過來的數(shù)據(jù),于是獲取了解密后的內(nèi)容
apache實現(xiàn)https的流程:
  apache是一個模塊化的軟件,很多功能由一個個模塊來提供的。加載對應(yīng)的模塊就能實現(xiàn)對應(yīng)的功能。
流程:
1.為apache服務(wù)器申請證書
2.配置apache的https功能
3.驗證https
apache申請證書的方式
1.搭建私有CA實現(xiàn)證書的頒發(fā)
2.使用CentOS7快速生成一個自簽名證書
[root@ansible certs]# pwd /etc/pki/tls/certs [root@ansible certs]# ls ca-bundle.crt ca-bundle.trust.crt make-dummy-cert Makefile renew-dummy-cert #取消makefile文件中對私鑰文件的加密 [root@ansible certs]# vim Makefile %.key: umask 77 ; \ #/usr/bin/openssl genrsa -aes128 $(KEYLEN) > $@ /usr/bin/openssl genrsa $(KEYLEN) > $@ #生成證書 [root@ansible certs]# make Makefile httpds.crt
3.通過阿里云等網(wǎng)站下載免費的證書(需要有域名)
配置apache的https功能
安裝mod_ssl軟件包,安裝mod_ssl軟件包后會自動生成apache的ssl配置文件和模塊。
[root@CentOS8 ~]# rpm -ql mod_ssl /etc/httpd/conf.d/ssl.conf #ssl模塊的配置文件 /etc/httpd/conf.modules.d/00-ssl.conf #加載ssl模塊 /usr/lib/.build-id /usr/lib/.build-id/e6/046e586d8d19fb92e3f8484a62203e841c3e2a /usr/lib/systemd/system/httpd-init.service /usr/lib/systemd/system/httpd.socket.d/10-listen443.conf /usr/lib64/httpd/modules/mod_ssl.so #模塊文件 /usr/libexec/httpd-ssl-gencerts /usr/libexec/httpd-ssl-pass-dialog /usr/share/man/man8/httpd-init.service.8.gz /var/cache/httpd/ssl
修改配置文件:
[root@CentOS8 ~]# vim /etc/httpd/conf.d/ssl.conf SSLCertificateFile /data/apache/apache1.crt #apache的證書文件 SSLCertificateKeyFile /data/apache/apache1.key #apache的私鑰文件 SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt #apache的證書鏈文件 證書鏈文件:不指定證書鏈文件,它就不知道這個證書是誰頒發(fā)的。證書鏈就是上級CA的證書
驗證:
  設(shè)置windows的hosts文件用于驗證
windows的hosts文件位置:C:\Windows\System32\drivers\etc 格式:ip地址 名字
關(guān)于“Linux apache怎么實現(xiàn)https的配置”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“Linux apache怎么實現(xiàn)https的配置”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。