整合營銷服務(wù)商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          如何申請 https證書

          里云,騰訊云以及華為云都有免費的https證書,但都只能用于單域名,而我的網(wǎng)站應(yīng)用是SaaS服務(wù),是多租戶,是每個租戶都可以分別設(shè)置自己的獨立二級域名,因此就需要一種泛域名證書。我總不能來一個用戶去制作一個證書吧!

          經(jīng)過很長一段時間的摸索,最終發(fā)現(xiàn)一個免費而且好用的https泛域名證書網(wǎng)站。OHTTPS這個網(wǎng)站還支持自動更新與部署。當然為了安全,我沒有使用這些服務(wù),而只是把它作為一個工具使用。

          接下來,我簡單說一下使用過程,因為這個過程真的就很簡單!

          操作步驟

          首先,是打開網(wǎng)站注冊一個賬號,這里就不上圖了。

          其次,就是添加域名。我們直接輸入*.byeap.com,注意域名前面一定要加*號,如下圖所示:

          接著,就是驗證域名,這里是通過域名解析驗證。這也很好理解,就是你得證明這是你的域名啊。根據(jù)提示到域名供應(yīng)商那邊增加個cname解析即可。這里我也不上圖了。

          建議這里cname就一直保留著,以后更新證書也比較簡單。

          然后,就是部署證書以及如何設(shè)置nginx了。

          我這邊下載了以上紅械框的兩個文件,一個是*.key文件,一個是*.pem文件。我把它們分別重命名為:

          1. byeap.com.cert.key
          2. byeap.com.cert.pem

          大家需要注意這兩個文件的順序!接著在nginx配置https,這里不解釋,直接上配置內(nèi)容:

          server {
          listen 80;
          listen 443 ssl;
          server_name byeap.com www.byeap.com *.byeap.com;
          ssl_certificate_key cert/byeap.com.cert.key;
          ssl_certificate cert/byeap.com.cert.pem;
          location / {
          root /opt/html;
          index index.html index.htm;
          try_files $uri $uri/ /index.html;
          }
          }

          注意:ssl_certificate_key和ssl_certificate指的文件路徑不能錯!

          配置修改好后,還要記得 nginx -s reload一下哦!

          最后,就是驗證效果。

          來個瀏覽器,檢測一下成果:

          1、輸入https://byeap.com/

          2、輸入https://doc.byeap.com/

          經(jīng)過測試所有網(wǎng)站都可以正常顯示小鎖啦!

          是不是感覺網(wǎng)站很正規(guī),是不是覺得過程很簡單!

          如果有不清楚的地方,歡迎留言,或加我聯(lián)系方式。

          、注冊JoySSL賬號并選擇免費SSL證書

          1,首先,訪問JoySSL官方網(wǎng)站。點擊頁面右上角的“注冊”按鈕,填寫必要的注冊信息,包括郵箱地址、設(shè)置密碼等。完成注冊后,登錄您的JoySSL賬號。,2,登錄后,點擊網(wǎng)站上的“免費SSL證書”選項。JoySSL提供了多種類型的免費SSL證書,包括單域名證書、多域名證書和通配符證書。根據(jù)您的需求選擇合適的證書類型。

          免費SSL證書申請地址:https://www.joyssl.com/certificate/select/free.html?nid=5

          二、提交域名驗證請求

          1,輸入您需要為哪個域名申請證書,確保域名的所有權(quán)在您手中。

          2,JoySSL會提供兩種常見的驗證方式:

          DNS驗證:您需要在域名管理面板中添加JoySSL提供的特定CNAME記錄,以便系統(tǒng)能夠驗證域名所有權(quán)。

          文件驗證:將JoySSL提供的驗證文件上傳至您的網(wǎng)站服務(wù)器指定目錄下,以便通過服務(wù)器上的文件來確認域名控制權(quán)。

          三、等待證書簽發(fā)

          完成上述驗證步驟后,提交申請,然后耐心等待JoySSL審核并通過您的驗證請求。

          一般情況下,由于JoySSL采用國際服務(wù)器進行簽發(fā),簽發(fā)速度較快,通常可在3-5分鐘內(nèi)完成驗證并簽發(fā)證書。

          四、下載并安裝SSL證書

          1,驗證成功后,您會在JoySSL賬戶后臺收到通知,此時可以下載已簽發(fā)的SSL證書及相關(guān)中間證書鏈文件。

          2,根據(jù)您的服務(wù)器環(huán)境(如Apache、Nginx、IIS等),按照JoySSL提供的教程或技術(shù)支持文檔,將證書文件正確地安裝到您的服務(wù)器上。

          五、配置HTTPS服務(wù)

          1,安裝證書后,在服務(wù)器配置中啟用HTTPS協(xié)議并指向正確的SSL證書路徑。

          2,檢查HTTPS服務(wù)是否正常啟動并能正確加載證書,確保網(wǎng)站可以通過HTTPS訪問。

          、先說說Nginx-HTTPS加密技術(shù)

          超文本傳輸安全協(xié)議(HTTPS)是以安全為目標的HTTP通道,簡單來說就是HTTP安全版。https由兩個部分組成:HTTP+SSL/TLS,在http基礎(chǔ)上加上了一層加密信息模塊,服務(wù)端和客戶端的信息插損胡都會通過TLS進行加密,傳輸?shù)臄?shù)據(jù)都是加密后的數(shù)據(jù)

          為了解決HTTP協(xié)議的這些缺陷,需要使用另一種協(xié)議:HTTPS。為了數(shù)據(jù)傳輸?shù)陌踩裕琀TTPS在http的基礎(chǔ)上加了SSL協(xié)議,SSL依靠證書驗證身份,并為瀏覽器和服務(wù)器之間通信加密;

          SSL證書是一種數(shù)字證書,使用Secure Socket Layer協(xié)議在瀏覽器和web服務(wù)器之間建立一條安全通道,從而實現(xiàn)數(shù)據(jù)信息在客戶端和服務(wù)器之間的加密傳輸,保證雙方傳遞信息的安全性,不可被第三方竊聽,而且用戶可以通過服務(wù)器證書驗證所訪問網(wǎng)站是否真實可靠;

          加密的HTTPS和HTTP的區(qū)別:超文本傳輸協(xié)議HTTP協(xié)議被用于在web瀏覽器和網(wǎng)站服務(wù)器之間傳遞信息,HTTP協(xié)議以明文方式發(fā)送內(nèi)容,不提供任何方式的加密數(shù)據(jù),如果攻擊者截取了web瀏覽器和網(wǎng)站服務(wù)器之間的傳輸報文,就可以直接讀取其中信息,因此,http協(xié)議不適合傳輸一些銘感信息;

          HTTPS加密,解密,驗證完成過程如圖所示:

          首先客戶端發(fā)送請求,服務(wù)端接受到請求之后并申請生成公私秘鑰,同時將公鑰證書發(fā)送給客戶端,客戶端收到之后并通過TLS進行解析驗證,如果證書沒有問題就會在客戶端生成一個加密隨機值,將隨機值發(fā)送給服務(wù)端,服務(wù)端接收到之后,用自己的私鑰解密,從而得到這個隨機值,然后通過這個隨機值對內(nèi)容進行對稱加密。服務(wù)端將用私鑰加密后的信息發(fā)送給客戶端,最后,客戶端用之前生成的私鑰來解密服務(wù)器端發(fā)過來的信息,獲取解密后的內(nèi)容

          1)客戶端向服務(wù)端發(fā)起HTTPS請求,用戶在瀏覽器輸入https網(wǎng)址,然后連接到Nginx server的443端口
          2)服務(wù)端采用https協(xié)議有一套數(shù)字證書,該證書可以自行配置,也可以向證書管理組織去申請,該證書其本質(zhì)是公鑰和私鑰
          3)將公鑰傳送給客戶端,證書包含了很多信息,例如,證書的頒發(fā)機構(gòu),過期時間等等
          4)客戶端解析證書,由客戶端的TLS完成,首先會驗證公鑰是否有效,比如頒發(fā)的機構(gòu),過期時間等,如果發(fā)生異常,則會彈出警告信息,提示證書存在問題,如果證書沒有問題,就會隨機生成數(shù)值,然后用證書對該隨機數(shù)值進行加密
          5)將證書加密后的隨機值傳送到服務(wù)器,讓服務(wù)器獲取該隨機值,后續(xù)客戶端和服務(wù)端可以通過該隨機值來進行加密解密
          6)服務(wù)端用私鑰解密后,得到了客戶端傳過來的隨機值,然后把內(nèi)容通過該值進行了對稱加密
          7)服務(wù)端將私鑰加密后的信息發(fā)給客戶端
          8)客戶端用之前生成的私鑰來解密服務(wù)端發(fā)送過來的信息,獲取解密后的內(nèi)容
          

          2、關(guān)于SSL證書

          互聯(lián)網(wǎng)的安全通信,是建立在SSL/TLS協(xié)議之上,SSL/TLS協(xié)議的基本思路是采用公鑰加密法,也就是,客戶端先向服務(wù)器端索取公鑰,然后用公鑰加密信息,服務(wù)器收到密文后,用自己的私鑰解密。通過這種加解密機制,可以保障所有信息都是加密傳播,無法竊聽,同時,傳輸具有校驗機制,一旦信息被篡改,可以立刻發(fā)現(xiàn),最后,通過身份證書機制,可以防止身份被冒充。由此可知,SSL證書主要有兩個功能:加密和身份認證。

          目前市面上的SSL證書都是通過第三方SSL證書機構(gòu)頒發(fā)的,常見可靠的第三方 SSL證書頒發(fā)機構(gòu)有DigiCert、GeoTrust、GlobalSign、Comodo等。

          根據(jù)不同使用環(huán)境,SSL證書可分為如下幾種:

          ?	企業(yè)級別:EV(Extended Validation)、OV(Organization Validation)
          ?	個人級別:IV(Identity Validation)、DV(Domain Validation)
          

          其中 EV、OV、IV 需要付費,企業(yè)用戶推薦使用EV或OV證書,個人用戶推薦使用IV證書,DV證書雖有免費的可用,但它是最低端的SSL證書。它不顯示單位名稱,也不能證明網(wǎng)站的真實身份,只能驗證域名所有權(quán),僅起到加密傳輸信息的作用,適合個人網(wǎng)站或非電商網(wǎng)站。

          3、使用OpenSSL生成私鑰文件和CSR文件

          Nginx配置HTTPS并不復(fù)雜,主要有兩個步驟:簽署第三方可信任的 SSL證書和配置 HTTPS,下面依次介紹。

          要配置HTTPS需要用到一個私鑰文件(以.key結(jié)尾)和一個證書文件(以.crt結(jié)尾) ,而證書文件是由第三方證書頒發(fā)機構(gòu)簽發(fā)的,要讓第三方證書頒發(fā)機構(gòu)簽發(fā)證書文件,還需要給他們提供一個證書簽署請求文件(以.csr結(jié)尾)。下面簡單介紹下私鑰文件和csr文件。

          ?	私鑰文件:以.key結(jié)尾的一個文件,由證書申請者生成,它是證書申請者的私鑰文件,和證書里面的公鑰配對使用,在 HTTPS 握手通訊過程中需要使用私鑰去解密客戶端發(fā)來的經(jīng)過證書公鑰加密的隨機數(shù)信息,它是HTTPS加密通訊過程非常重要的文件,在配置HTTPS的時候要用到。
          
          ?	CSR文件:CSR全稱是Cerificate Signing Request,即證書簽署請求文件,此文件里面包含申請者的DN(Distinguished Name,標識名)和公鑰信息,此文件由證書申請者生成,同時需要提供給第三方證書頒發(fā)機構(gòu)。證書頒發(fā)機構(gòu)拿到CSR文件后,使用其根證書私鑰對證書進行加密并生成CRT證書文件,CRT文件里面包含證書加密信息以及申請者的DN及公鑰信息,最后,第三方證書頒發(fā)機構(gòu)會將CRT文件發(fā)給證書申請者,這樣就完成了證書文件的申請過程。
          

          在申請SSL證書之前,證書申請者需要先生成一個私鑰文件和一個CSR文件,可通過openssl命令來生成這兩個文件,操作如下:

          [root@iZ23sl33esbZ ~]# openssl req -new -newkey rsa:2048 -sha256 -nodes -out iivey.csr -keyout iivey.key -subj "/C=CN/ST=beijing/L=beijing/O=iivey Inc./OU=Web Security/CN=iivey.com"
          

          上面這個命令會生成一個CRS文件iivey.csr和私鑰文件iivey.key。其中,相關(guān)字段含義如下:

          ?	C字段:即Country,表示單位所在國家,為兩位數(shù)的國家縮寫,如CN表示中國
          ?	ST字段: State/Province,單位所在州或省
          ?	L字段: Locality,單位所在城市/或縣區(qū)
          ?	O字段: Organization,此網(wǎng)站的單位名稱
          ?	OU字段: Organization Unit,下屬部門名稱;也常常用于顯示其他證書相關(guān)信息,如證書類型,證書產(chǎn)品名稱或身份驗證類型或驗證內(nèi)容等
          ?	CN字段:Common Name,網(wǎng)站的域名
          

          接著,將生成的CSR文件提供給CA機構(gòu),簽署成功后,CA機構(gòu)就會發(fā)給我們一個CRT證書文件,假定這個文件是iivey.crt,在獲得SSL證書文件后,就可以在Nginx配置文件里配置HTTPS了。

          4、Nginx下配置SSL證書

          要開啟HTTPS服務(wù),其實就是在Nginx上開啟一個443監(jiān)聽端口,下面是HTTPS服務(wù)在Nginx下的配置方式,這里僅列出了server段的配置:

          server
           {
           listen 443;
           server_name www.iivey.com;
           index index.php index.html;
           root /data/webhtdocs/iivey;
           ssl						on;
           ssl_certificate				iivey.crt;
           ssl_certificate_key			iivey.key;
           ssl_prefer_server_ciphers	on;
           ssl_protocols				TLSv1 TLSv1.1 TLSv1.2;
           ssl_ciphers				HIGH:!aNULL:!MD5;
           add_header X-Frame-Options DENY;
           add_header X-Content-Type-Options nosniff;
           add_header X-Xss-Protection 1;
           }
          

          簡單介紹下上面每個配置選項的含義:

          ?ssl on:表示啟用SSL功能。

          ?ssl_certificate:用來指定CRT文件的路徑,可以是相對路徑,也可以是絕對路徑,本例是相對路徑,iivey.crt文件放在和nginx.conf同級目錄下。

          ?ssl_certificate_key:用來指定秘鑰文件的路徑,可以是相對路徑,也可以是絕對路徑,本例是相對路徑,iivey.key文件放在和nginx.conf同級目錄下。

          ?ssl_prefer_server_ciphers on:設(shè)置協(xié)商加密算法時,優(yōu)先使用我們服務(wù)端的加密套件,而不是客戶端瀏覽器的加密套件。

          ?ssl_protocols:此指令用于啟動特定的加密協(xié)議,這里設(shè)置為“TLSv1 TLSv1.1 TLSv1.2”,TLSv1.1與TLSv1.2要確保openssl版本大于等于openssl1.0.1 ,SSLv3也可以使用,但是有不少被攻擊的漏洞,所以現(xiàn)在很少使用了。

          ?ssl_ciphers:選擇加密套件和加密算法,不同的瀏覽器所支持的套件和順序可能會有不同。這里選擇默認即可。

          ?add_header X-Frame-Options DENY:這是個增強安全性的選項,表示減少點擊劫持。

          ?add_header X-Content-Type-Options nosniff:同樣是增強安全性的選項,表示禁止服務(wù)器自動解析資源類型。

          ?add_header X-Xss-Protection 1:同樣是增強安全性的選項,表示防止XSS攻擊。

          5、驗證HTTPS功能

          Nginx的https配置完成后,需要測試下配置是否正常,這里提供兩種方式,第一種方式是直接通過瀏覽器訪問https服務(wù),這里使用火狐瀏覽器進行測試,如果https配置正常的話,應(yīng)該會直接打開頁面,而不會出現(xiàn)如下界面:

          出現(xiàn)這個界面,說明https沒有配置成功,需要檢查https配置是否正確。而在打開https頁面后,可能還會出現(xiàn)一種情況,如下圖所示:

          這個現(xiàn)象是能夠打開https界面,但是瀏覽器地址欄左邊的小鎖是灰色,并且有個黃色的感嘆號,這說明這個網(wǎng)站的頁面中可能引用了第三方網(wǎng)站的圖片、js、css等資源文件,https認為頁面有引用第三方網(wǎng)站資源的情況是不安全的,所以才出現(xiàn)了警告提示。解決這個問題很簡單,將頁面上所有引用第三方網(wǎng)站的資源文件下載到本地,然后通過本地路徑進行引用即可。

          修改所有資源文件到本地服務(wù)器后,再次通過https方式進行訪問,瀏覽器地址欄左邊的小鎖自動變成綠色,并且感嘆號消失,如下圖所示:

          至此,nginx下配置https服務(wù)已經(jīng)正常運行。

          在瀏覽器下可以查看證書信息(證書廠商、證書機構(gòu)、證書有效期等),點擊瀏覽器地址欄的綠鎖,選擇查看證書,即可查看證書詳細信息,如下圖所示:

          驗證SSL證書狀態(tài)還有另外一個方法,那就是通過提供的在線網(wǎng)站進行驗證,讀者可以通過https://myssl.com/網(wǎng)站或https://www.ssllabs.com/ssltest/網(wǎng)站進行在線測試,這些網(wǎng)站可以更詳細的測試SSL證書的狀態(tài)、安全性、兼容性等各方面的狀態(tài)。


          主站蜘蛛池模板: 日韩av片无码一区二区三区不卡| 男人的天堂精品国产一区| 国产av成人一区二区三区| 亚洲福利视频一区二区| 国产精品高清视亚洲一区二区 | 亚洲日韩中文字幕一区| 亚洲日韩精品无码一区二区三区| 亚洲欧美日韩国产精品一区| 无码人妻视频一区二区三区 | 国产乱码精品一区二区三 | 精品人妻少妇一区二区| 精品国产一区二区三区www| 亚洲国产激情在线一区| 亚洲av无码一区二区三区不卡 | 免费高清在线影片一区| 午夜DV内射一区区| 国产精品电影一区二区三区| 亚洲AV无码片一区二区三区| 国产精品一级香蕉一区| 国产日韩精品视频一区二区三区 | 寂寞一区在线观看| 国产在线精品一区二区不卡| 国产天堂一区二区综合| 99久久精品费精品国产一区二区| 影院无码人妻精品一区二区| 国产激情一区二区三区成人91| 亚洲国产一区二区三区 | 无码少妇一区二区三区芒果| 国产无吗一区二区三区在线欢| 国产SUV精品一区二区88| 一区二区三区福利| 无码人妻AⅤ一区二区三区| 日韩一区二区视频| 日韩一区二区三区视频久久| 国产无吗一区二区三区在线欢| 自慰无码一区二区三区| 无码国产精品一区二区免费式影视 | 四虎在线观看一区二区| 国产一区二区免费视频| 国产乱码精品一区二区三区香蕉 | 美女视频免费看一区二区|