日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
如何搭建一個HTTPS服務(wù)端

關(guān)于 HTTPS 的基本原理大家都已經(jīng)不再陌生,今天和大家說說如何搭建一個支持 HTTPS 的服務(wù)端。

服務(wù)端的 HTTPS

HTTPS 已經(jīng)幾乎成為了當前互聯(lián)網(wǎng)推薦的通信方式,它能最大化保證信息傳輸?shù)陌踩?,從去年蘋果的強制 HTTPS ,到如今各大網(wǎng)站都支持了 HTTPS。它會越來越普及。

之前寫過幾篇關(guān)于 HTTPS 原理的文章,有用戶留言希望了解一些如何在服務(wù)端搭建 HTTPS 服務(wù)的內(nèi)容,這次就和大家聊聊這個話題。

SSL 證書

搭建一個 HTTPS 站點,第一步要做的就是申請 SSL 證書, 而且要在標準的證書頒發(fā)機構(gòu)來申請。 當然,從技術(shù)上來說,你可以使用自簽名證書,但自簽名證書會被所有的瀏覽器視為不安全的證書,并且會給用戶報錯,就像這樣:

所以,還是需要申請一個正規(guī)的證書的。 可申請證書的頒發(fā)機構(gòu)有很多,比如 GoDaddy,Comodo,Verisign 等等。價格從一年幾美金到幾十美金不等。

我們就以 GoDaddy 為例,帶大家了解一下流程。 在 GoDaddy 的首頁有一個 Web Security 標簽,點擊這個標簽后可以找到 SSL Certificates 選項:

點擊進去, 就可以看到可選的幾個證書形式,有單域名的,還有允許多個二級域名的等:

避免廣告嫌疑,下面的價格信息略去了~,這里只給大家介紹流程,幫助大家了解。 證書服務(wù)商大家可以自行選擇。

接下來,證書頒發(fā)機構(gòu)會讓你填寫一個叫做 CSR 的東西, 如果大家搞 iOS 開發(fā)對這個應(yīng)該不陌生,申請?zhí)O果開發(fā)者證書的時候大家也做過類似的事情。

CSR 全稱 Certificate Signing request。 顧名思義就是用于申請證書必須的一些信息,在 Lunix 系統(tǒng)中,它可以通過命令生成(大多數(shù)的服務(wù)端應(yīng)該都是基于 Linux 的,所以我們用它來作為例子):

 
 
 
 
  1. $ openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

openssl 命令,如果你的系統(tǒng)沒有安裝的話,可以通過包管理先安裝。 需要把這里面的 yourdomain.key 和 yourdomain.csr 替換成你自己的名稱,可以是域名,也可以是其他標識。

生成成功后,可以用 cat 命令輸出 yourdomain.csr 中的內(nèi)容:

 
 
 
 
  1. $ cat yourdomain.csr

會在命令行輸出 CSR 的內(nèi)容,把這段內(nèi)容復制到前面截圖中的文本框中,然后點擊生成就好了。

注意,這里的 yourdomain.key 文件你要保管好。 這是你證書的私鑰,后面配置 HTTPS 的時候需要用到它。 并且它不能重新生成,而且不能泄露出去。原因可以參考我前面關(guān)于 HTTPS 原理的相關(guān)文章。

與此同時,證書頒發(fā)機構(gòu)在你提交 CSR 之后,會給你生成證書文件, Godaddy 會生成兩個證書,一個是你站點的證書,一個是根證書。 把它們下載到你的服務(wù)器上面。

Apache 服務(wù)端配置

證書準備好之后,我們要對服務(wù)端程序進行配置,讓它支持 HTTPS。這里我給大家以 CentOS 7 操作系統(tǒng), Apache 2.x 服務(wù)端程序為例。

Apache 的 HTTPS 配置文件一般在 /etc/httpd/conf.d/ssl.conf 這個位置。 用 vim 編輯器打開它, 然后加入這樣一個節(jié)點:

 
 
 
 
  1.      SSLEngine On
  2.      SSLCertificateFile /root/yoursite.crt
  3.      SSLCertificateKeyFile /root/yoursite.key
  4.      SSLCACertificateFile /root/rootcert.crt
  5.      ServerAdmin admin@yoursite.com
  6.      ServerName yoursite.com
  7.      DocumentRoot /var/www/html/

這里用到了我們前面準備的證書和秘鑰。 SSLCertificateFile 是你站點的證書, SSLCACertificateFile 是根證書, SSLCertificateKeyFile 是只保存在你服務(wù)器的私鑰。

有了這些信息后,Apache 就可以正確的處理 HTTPS 請求了。 在這之前我們還需要在做最后一步操作, 編輯 /etc/httpd/conf/httpd.conf 文件, 這個是 Apache 的主配置文件, 加入這樣一行:

 
 
 
 
  1. Listen 443

這個是讓你的服務(wù)端同時監(jiān)聽 443 端口。 因為 HTTPS 的默認端口是 443, 所以這個設(shè)置是必須要有的。

一切都就緒后,重啟你的服務(wù)器:

 
 
 
 
  1. systemctl restart httpd

然后再用瀏覽器輸入 https://yoursite.com 訪問你的站點時,就應(yīng)該可以看到 HTTPS 驗證成功的小鎖頭了。

防火墻設(shè)置

如果配置都就緒,你重啟了之后,依然不能正常訪問,有可能是你的防火墻把 443 端口攔截了,把它打開:

 
 
 
 
  1. iptables -A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
  2. iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT

結(jié)束

目前成熟的 Web 服務(wù)程序都有對 HTTPS 很好的支持,只需要經(jīng)過簡單的配置,即可完成 HTTPS 服務(wù)器的搭建。 而 HTTPS 之所以相對性能消耗更大,是因為每次數(shù)據(jù)傳輸都需要進行加密和解密的操作。 作為 APP 開發(fā)者們,可能對服務(wù)端的技術(shù)了解的并沒有那么深,可以把它作為一個備忘錄,日后用到的時候再來看看。


文章標題:如何搭建一個HTTPS服務(wù)端
分享鏈接:http://www.dlmjj.cn/article/cdeiogh.html