成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何搭建一個HTTPS服務端

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

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

服務端的 HTTPS

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

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

SSL 證書

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

如何搭建一個HTTPS服務端

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

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

如何搭建一個HTTPS服務端

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

如何搭建一個HTTPS服務端

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

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

如何搭建一個HTTPS服務端

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

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

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

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

  1. $ cat yourdomain.csr 

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

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

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

Apache 服務端配置

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

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

 

  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> 

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

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

  1. Listen 443 

這個是讓你的服務端同時監聽 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 開發者們,可能對服務端的技術了解的并沒有那么深,可以把它作為一個備忘錄,日后用到的時候再來看看。

責任編輯:未麗燕 來源: Swift Cafe
相關推薦

2023-09-11 10:53:32

2021-04-30 09:32:38

服務端渲染SSR

2024-04-01 13:18:15

App架構服務端

2022-05-22 13:55:30

Go 語言

2024-01-02 13:58:04

GoREST API語言

2016-09-23 21:15:49

阿里云服務器搭建

2010-05-28 10:10:49

2024-01-02 12:17:44

Go傳統遠程

2022-06-14 15:07:04

IPC客戶端服務端

2020-11-11 09:49:12

計算架構

2016-03-18 09:04:42

swift服務端

2023-10-30 18:55:43

FTP服務器開源

2019-07-25 11:20:34

閑魚服務端定位

2018-12-18 12:12:51

Python服務器Django

2020-11-03 14:10:29

Vue服務端渲染前端

2021-01-20 07:37:39

Exceptionle服務端部署

2024-03-06 14:58:52

客戶端微服務架構

2013-03-25 10:08:44

PHPWeb

2012-03-02 10:38:33

MySQL

2019-08-21 17:41:29

操作系統軟件設計
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本免费一区二区三区四区 | 欧美一级免费看 | 久久精品久久久久久 | 午夜一级做a爰片久久毛片 精品综合 | a看片| 亚州成人| 亚洲成人一区二区三区 | 亚洲永久字幕 | 蜜臀久久99精品久久久久久宅男 | 99热国产免费 | 精品二三区 | 欧美在线综合 | 日韩成人一区 | 久久精品一区二 | 超碰综合| 免费一区| 欧美一区二区三区高清视频 | 人人草天天草 | 国产黄色大片 | 国产精品二区三区 | 97精品国产手机 | 红色av社区 | 成人亚洲| 综合久 | 日韩欧美综合 | 国产美女黄色片 | 国产成人a亚洲精品 | 中文字幕一区二区三区四区五区 | 在线免费观看黄a | 亚洲专区在线 | 日韩在线播放第一页 | 天天操,夜夜爽 | 激情综合五月 | 国产精品69毛片高清亚洲 | 欧美亚洲视频 | 精品国产一二三区 | 国产精品久久久久久久久久软件 | 久久久人成影片一区二区三区 | 久久久久国产精品一区三寸 | 亚洲欧美一区二区在线观看 | 久久精品久久久久久 |