偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

如何搭建一個(gè)HTTPS服務(wù)端

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

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

服務(wù)端的 HTTPS

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

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

SSL 證書

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

如何搭建一個(gè)HTTPS服務(wù)端

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

我們就以 GoDaddy 為例,帶大家了解一下流程。 在 GoDaddy 的首頁有一個(gè) Web Security 標(biāo)簽,點(diǎn)擊這個(gè)標(biāo)簽后可以找到 SSL Certificates 選項(xiàng):

如何搭建一個(gè)HTTPS服務(wù)端

點(diǎn)擊進(jìn)去, 就可以看到可選的幾個(gè)證書形式,有單域名的,還有允許多個(gè)二級(jí)域名的等:

如何搭建一個(gè)HTTPS服務(wù)端

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

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

如何搭建一個(gè)HTTPS服務(wù)端

CSR 全稱 Certificate Signing request。 顧名思義就是用于申請(qǐng)證書必須的一些信息,在 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 替換成你自己的名稱,可以是域名,也可以是其他標(biāo)識(shí)。

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

  1. $ cat yourdomain.csr 

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

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

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

Apache 服務(wù)端配置

證書準(zhǔn)備好之后,我們要對(duì)服務(wù)端程序進(jìn)行配置,讓它支持 HTTPS。這里我給大家以 CentOS 7 操作系統(tǒng), Apache 2.x 服務(wù)端程序?yàn)槔?/p>

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

 

  1. <VirtualHost *:443> 
  2.      SSLEngine On 
  3.      SSLCertificateFile /root/yoursite.crt 
  4.      SSLCertificateKeyFile /root/yoursite.key 
  5.      SSLCACertificateFile /root/rootcert.crt 
  6.  
  7.      ServerAdmin admin@yoursite.com 
  8.      ServerName yoursite.com 
  9.      DocumentRoot /var/www/html/ 
  10. </VirtualHost> 

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

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

  1. Listen 443 

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

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

  1. systemctl restart httpd 

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

防火墻設(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ù)程序都有對(duì) HTTPS 很好的支持,只需要經(jīng)過簡(jiǎn)單的配置,即可完成 HTTPS 服務(wù)器的搭建。 而 HTTPS 之所以相對(duì)性能消耗更大,是因?yàn)槊看螖?shù)據(jù)傳輸都需要進(jìn)行加密和解密的操作。 作為 APP 開發(fā)者們,可能對(duì)服務(wù)端的技術(shù)了解的并沒有那么深,可以把它作為一個(gè)備忘錄,日后用到的時(shí)候再來看看。

責(zé)任編輯:未麗燕 來源: Swift Cafe
相關(guān)推薦

2023-09-11 10:53:32

2021-04-30 09:32:38

服務(wù)端渲染SSR

2024-04-01 13:18:15

App架構(gòu)服務(wù)端

2024-01-02 13:58:04

GoREST API語言

2022-05-22 13:55:30

Go 語言

2010-05-28 10:10:49

2016-09-23 21:15:49

阿里云服務(wù)器搭建

2022-06-14 15:07:04

IPC客戶端服務(wù)端

2024-01-02 12:17:44

Go傳統(tǒng)遠(yuǎn)程

2023-10-30 18:55:43

FTP服務(wù)器開源

2016-03-18 09:04:42

swift服務(wù)端

2020-11-11 09:49:12

計(jì)算架構(gòu)

2019-07-25 11:20:34

閑魚服務(wù)端定位

2018-12-18 12:12:51

Python服務(wù)器Django

2020-11-03 14:10:29

Vue服務(wù)端渲染前端

2021-01-20 07:37:39

Exceptionle服務(wù)端部署

2024-03-06 14:58:52

客戶端微服務(wù)架構(gòu)

2012-03-02 10:38:33

MySQL

2013-03-25 10:08:44

PHPWeb

2019-08-21 17:41:29

操作系統(tǒng)軟件設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)