天天看點

Apache https(SSL)啟用

本文記錄如何啟用ssl也就是使你的apache支援https協定

執行

sudo a2enmod ssl

看到如下提示

Enabling module ssl.

See /usr/share/doc/apache2.2-common/README.Debian.gz on how to configure SSL and create self-signed certificates.

Run '/etc/init.d/apache2 restart' to activate new configuration!

證明成功啟用ssl子產品

下面我們要生成ssl證書,需要用到openssl

執行

sudo apt-get install openssl

安裝成功後執行如下指令建立key

openssl genrsa -des3 -out server.key 1024

期間會提示輸入密碼和确認密碼

下面建立CSR 證書簽發請求

openssl req -new -key server.key -out key.csr

系統會向你索取一些資訊,簡單的英文,逐一填寫好就是了

執行如下指令擷取server.key和server.csr的路徑

locate *server.key*

我系統中兩個檔案在/etc/cups/ssl中

進入該目錄

cd /etc/cups/ssl

執行如下兩條指令安裝證書

sudo cp server.crt /etc/ssl/certs

sudo cp server.key /etc/ssl/private

接下來修改虛拟主機配置,讓其啟用ssl,編輯/etc/apache2/sites-available/default,在<VirtualHost>中,DocumentRoot一行的下方加入下面内容:

SSLEngine on

SSLOptions +StrictRequire

SSLCertificateFile /etc/ssl/certs/server.crt

SSLCertificateKeyFile /etc/ssl/private/server.key

重新開機apache

/etc/init.d/apache2 restart

測試一下,是不是會傳回錯誤

安全連接配接失敗

連接配接localhost時發生錯誤。

SSL 接收到一個超出最大準許長度的記錄。

(錯誤碼: ssl_error_rx_record_too_long)

編輯/etc/apache2/sites-available/default 把

<VirtualHost *:80>

改為

<VirtualHost *>

重新開機apache試試,成功了吧?之前到底為什麼會提示安全連接配接失敗我不知道,猜測是虛拟主機配置的問題,修改之後apache啟動會有一個 warn,不過不影響什麼。

繼續閱讀