日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

這里有您想知道的互聯網營銷解決方案
如何搭建一個HTTPS服務端

關于 HTTPS 的基本原理大家都已經不再陌生,今天和大家說說如何搭建一個支持 HTTPS 的服務端。

服務端的 HTTPS

HTTPS 已經幾乎成為了當前互聯網推薦的通信方式,它能最大化保證信息傳輸的安全,從去年蘋果的強制 HTTPS ,到如今各大網站都支持了 HTTPS。它會越來越普及。

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

SSL 證書

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

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

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

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

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

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

CSR 全稱 Certificate Signing request。 顧名思義就是用于申請證書必須的一些信息,在 Lunix 系統(tǒ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 中的內容:

 
 
 
 
  1. $ cat yourdomain.csr

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

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

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

Apache 服務端配置

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

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 是只保存在你服務器的私鑰。

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

 
 
 
 
  1. Listen 443

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

一切都就緒后,重啟你的服務器:

 
 
 
 
  1. systemctl restart httpd

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

防火墻設置

如果配置都就緒,你重啟了之后,依然不能正常訪問,有可能是你的防火墻把 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

結束

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


當前文章:如何搭建一個HTTPS服務端
URL鏈接:http://m.5511xx.com/article/cdeiogh.html