日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于httpd建立私有CA实现https加密连接

發布時間:2024/4/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于httpd建立私有CA实现https加密连接 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????有關于https是什么,點擊連接查看百度百科:https://baike.baidu.com/item/https/285356?fr=aladdin

一、準備工作

????在開始實驗之前,我們要準備至少兩臺主機還有自身的計算機,一臺作為服務器,另外一臺作為私有CA機構,我們要保證這兩臺主機之間可以互相ping通,并且都能于真實計算機ping通,也就是這三臺機器能夠互相通信。

????在這里,我準備了兩臺虛擬機,操作系統分別為CentOS 7 和 CentOS 6 ,CentOS 7 使用的IP地址為172.16.7.100,CentOS 6 使用的IP地址為172.16.128.4。我將CentOS 7 作為提供http服務的服務器,CentOS 6 作為CA機構,三臺機器的功能如圖:

二、建立CA

? ? 首先在IP為172.16.128.4的主機上建立CA,并將自己的信息寫到認證中去:

~]#?cd?/etc/pki/????????????????????????????????????????????????????????????#切換工作目錄 CA]#?touch?index.txt????????????????????????????????#然后再當前目錄下創建兩個文件 CA]#?echo?01?>?serial???????????????????????????????#在認證時會用到,如果不創建會報錯 CA]#?(umask?077;openssl?genrsa?-out?private/cakey.pem?2048)?????????????????????#創建私鑰 CA]#?openssl?req?-new?-x509?-key?private/cakey.pem?-out?cacert.pem?-days?7300???#認證自己

三、創建申請

????CA建立完了,我們就要開始建立自身的認證了,首先回到當作服務器的主機(172.16.7.100),找到一個目錄來存儲認證文件,在這里我將“/myweb/wordpress/ssl”作為存放目錄(隨便放,后面使用絕對路徑引用,放在一個安全的地方),然后使用下面的命令創建私鑰:

ssl]#?(umask?077;openssl?genrsa?-out?httpd.key?1024) ssl]#?openssl?req?-new?-key?httpd.key?-out?httpd.csr

????在填寫信息的時候注意:國家要求兩個字符,服務器填寫虛擬主機的域名

四、申請及審批

????認證文件都創立完成之后,就可以把服務器上生成的申請信息發送到CA上進行認證,使用下面這條命令可以方便的將文件上傳:

ssl]#?scp?httpd.csr?root@172.16.128.4:/tmp/??????????#此命令在172.16.7.100(服務器上執行)

????在一段時間等待之后,就會提示要輸入密碼,在輸入密碼之后再等待一段時間,出現如圖所示畫面就說明文件上傳成功:

????切換到CA(172.16.128.4)上執行下面的命令完成認證(根據提示選擇yes即可):

CA]#?openssl?ca?-in?/tmp/httpd.csr?-out?certs/myweb.wordpress.com.crt?-days?365

????在認證完成之后,在通過scp命令將認證完成生成的文件傳送回去:

CA]#?scp?certs/myweb.wordpress.com.crt?172.16.7.100:/myweb/wordpress/ssl/

????回到服務器(172.16.7.100)上,即可在“/myweb/wordpress/ssl”里邊看到myweb.wordpress.com.crt文件,到這里私有CA和證書頒發就完成了。

五、瀏覽器查看

????證書頒發完成,但是我們還是不能在瀏覽器中看到,如果想要在瀏覽器里使用https,需要“mod_ssl”,使用下面的命令來安裝:

~]#?yum?install?-y?mod_ssl

????在安裝完成之后,就會在“/etc/httpd/conf.d/”下生成一個配置文件:ssl.conf,編輯這個文件:

~]#?vim?/etc/httpd/conf.d/ssl.conf

????將文件中下面兩個選項(一般分別在101行和108行)改成下面這樣(這兩個文件放在哪就改成哪):

SSLCertificateFile?/myweb/wordpress/ssl/myweb.wordpress.com.crt SSLCertificateKeyFile?/myweb/wordpress/ssl/httpd.key

????改完之后保存退出,重新加載httpd配置:

~]#?systemctl?restart?httpd

????使用命令“ss -tnl”查看,可以看到443端口已經被監聽了,這個端口就是默認的https端口:

????到此https就配置完成,下面進行測試,在“/etc/httpd/conf.d/”中創建一個虛擬主機:

ssl]#?vim?/etc/httpd/conf.d/vhost.conf

????寫入以下內容:

<VirtualHost?*:443>ServerName?myweb.wordpress.comDocumentRoot?/myweb/wordpressErrorLog?logs/wordpress-error_logCustomLog?logs/wordpress-access_log?combiendDirectoryIndex?index.html<Directory?"/myweb/wordpress">Options?IndexesAllowOverride???NoneRequire?all?granted</Directory> </VirtualHost>

????然后創建目錄“/myweb/wordpress”,并創建一個主頁:

~]#?mkdir?/myweb/wordpress ~]#?echo?"wordpress?Page"?>?/myweb/wordpress/index.html

????最后在真實計算機上使用瀏覽器打開“https://myweb.wordpress.com/”即可看到如下畫面(要修改hosts文件,參考前面的博客):

????可以看到都是剛才注冊的信息,報錯是因為這個CA為私有,無法經過它的驗證。但是在局域網內就可以使用這個證書來驗證信息來源的可靠性了。






轉載于:https://blog.51cto.com/11142243/1972413

總結

以上是生活随笔為你收集整理的基于httpd建立私有CA实现https加密连接的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。