標籤:new section letter git https協議 內容 代碼 default led
一、HTTPS簡述隨著網路的日常,資訊安全越來越重要,傳統的網站都是http協議明文傳輸,而HTTPS協議是由SSL+HTTP協議構建的可進行加密傳輸、身份認證的網路通訊協定,比http協議安全。
那https到底是怎麼開啟的,隨著疑問自己也瞭解https配置原理並在Ubuntu伺服器上開啟了https。
二、配置認證
配置https一個很重要的步驟就是配置認證。
1、建立認證
sudo apt-get install ssl-cert
make-ssl-cert產生認證的方法有兩種,一種是根據產生按工具預設的方式產生,一種是按模板檔案產生
#預設的方式產生
sudo make-ssl-cert generate-default-snakeoil
#按模板檔案產生
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/apache2.pem
2、通過openssl命令列建立自我簽署憑證(這裡產生的認證也採用pem格式,這個pem格式檔案中包含了私密金鑰和公開金鑰(認證)兩部分內容。如果你將keyout和out分別採用不同的檔案名稱,那keyout和out所對應的檔案就會分別存放私密金鑰和公開金鑰(認證)。)
sudo openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/apache.pem -out /etc/ssl/private/apache.pem -nodes -days 999
#資訊註解
Country Name (2 letter code) [AU]:CN ←輸入國家代碼
State or Province Name (full name) [Some-State]:JIANGSU ← 輸入省名
Locality Name (eg, city) []:SHANGHAI ←輸入城市名
Organization Name (eg, company) [Internet Widgits Pty Ltd]:YIQU ← 輸入公司名
Organizational Unit Name (eg, section) []:RSA ← 輸入組織單位名
Common Name (eg, YOUR name) []:extend.me ← 輸入主機名稱(想要開啟https的主機名稱)
Email Address []:[email protected] ←輸入電子郵箱地址
3、簽署認證
sudo openssl genrsa (-des3) 1024 >server.key //括弧裡的 命令可以不加 這個是密碼驗證 加了使用認證就需要輸入密碼
4、產生認證請求檔案
openssl req -new -key server.key > server.csr
三、配置Apache
1、開啟SSL模組
a2enmod ssl
2、啟用SSL網站
a2ensite default-ssl
3、加入監聽連接埠
sudo vim /etc/apache2/ports.conf
#編輯Apache連接埠配置,加入443連接埠(HTTPS採用的443連接埠傳輸資料)
Listen 443
4、配置虛擬機器主機
編輯default-ssl檔案,加入認證對應的主機頭。
sudo vim /etc/apache2/sites-enabled/default-ssl
ServerName extend.me
5、配置SSL認證
按如下配置
SSLEngine on SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key SSLCertificateChainFile /etc/ssl/certs/server-ca.crt
重新啟動Apache
然後https://extend.me 測試下
瀏覽器可能會報認證不合法 可以添加例外或者其他仍然訪問就好了 自我簽署憑證瀏覽器一般會提示不合法
配置完之後大家可以用抓包工具看下資料轉送是否加密了。
Ubuntu下配置apache開啟https