天天看點

Ubuntu下配置apache開啟https

  一、HTTPS簡述随着網絡的日常,資訊安全越來越重要,傳統的網站都是http協定明文傳輸,而HTTPS協定是由SSL+HTTP協定建構的可進行加密傳輸、身份認證的網絡協定,比http協定安全。

  那https到底是怎麼開啟的,随着疑問自己也了解https配置原理并在Ubuntu伺服器上開啟了https。
  我本地配置的域名是https://extend.me
 二、配置證書
  
   配置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  測試下
浏覽器可能會報證書不合法 可以添加例外或者其他仍然通路就好了  自簽名證書浏覽器一般會提示不合法
 配置完之後大家可以用抓包工具看下資料傳輸是否加密了。      
上一篇: PHP異步請求