Ubuntu在安裝時會將加密模組(SSL)一起進行安裝,但如果沒有去設定,將無法使讓他發揮加密效果,接下來介紹讓各位了解如何去設定與啟動加密模組SSL。
安裝步驟如下
先確認Openssl套件是否存在
dpkg --get-selections | grep openssl啟動 Apache2 的 SSL 模組。
a2enmod ssl
Apache2 SSL 連線設定步驟如下:
1.產生伺服器的金鑰
2.建立憑證要求 (Certificate Signing Request)
3.產生自我簽署憑證 (Self-Signed Certificate)
4.設定 Aapche2 Virtual Hosts
1.產生伺服器的金鑰
openssl genrsa -out myserver.key 2048
2.建立憑證要求 (Certificate Signing Request)
openssl req -new -key myserver.key -out myserver.csr
3.產生自我簽署憑證 (Self-Signed Certificate)
openssl x509 -req -days 365 -in myserver.csr -signkey myserver.key -out myserver.crt
安裝憑證
mkdir /var/www/ssl cp myserver.crt /var/www/ssl cp myserver.key /var/www/sslPS:存放憑證與金鑰的路徑要記住,在Apache2的設定檔上又正確填入。
4.修改設定檔與對外連結Port設定檔
(1)修改Aapche2設定檔
vi /etc/apache2/sites-available/000-default.conf在設定檔中填入憑證與金鑰的群放路徑,注意路徑要填對,不然無法正常連線。
SSLEngine On
SSLCertificateFile /var/www/ssl/apache.crt
SSLCertificateKeyFile /var/www/ssl/apache.key
(2)修改對外連結Port設定檔,將Listen 80這行註解掉,不要讓Apache2 Listen port 80。
vi /etc/apache2/ports.conf
啟動站點。
a2ensite 000-default.confPS:Apache提供了兩個工具分別是a2ensite和a2dissite,它們都在apache2-common裡,a2ensite可以啟動apache2資料夾/etc/apache2/sites-available中包含設定檔的站點,a2dissite的作用正好相反。
最後重新啟動 Apache2
service apache2 restart
開啟瀏覽器輸入 https://127.0.0.1/iinfo。
點選繼續瀏覽後才成見到頁面。
若輸入http://127.0.0.1/iinfo,可是無法連到網頁,這樣表示SSL啟動成功。
再換外部機器與開啟IE瀏覽器測試一下目前加密連線,輸入https://192.168.0.18/iinfo/,畫面依樣被擋。
點選後繼續瀏覽,在網址列上查看憑證內容。
憑證資訊就是剛剛在建立憑證時所輸入的全部資訊。
參考資料:
- Ubuntu 設定 Apache 使用 SSL 網站 (Self Signed)
- Ubuntu +SSL +正式的CA 設定
- Ubuntu Server 13.04 (64位元) 安裝 Apache 並啟用 SSL
- 啟用ubuntu的https
- forum/server/apache2/SSL
- SSL Certificates with Apache 2 on Ubuntu 10.10 (Maverick)
- OpenSSL 版本差異造成 HTTPS 出問題