1、去服務器上購買免費https服務並配置域名等。
2、根據自己的網站服務器來選擇下載不同的ssl證書。
apache證書包括
1_root_bundle.crt # 證書文件
2_xxx.xxx.xxx.crt # 證書文件
3_xxx.xxx.xxx.key # 私鑰文件
3、 配置證書
默認配置情況下/etc/apache2/sites-available/000-default.conf (apache配置文件)
在/etc/apache2這個目錄下,有兩個有關的目錄sites-available和sites-enabled,我們進入sites-enabled目錄下可以發現,裏面有一個文件000-default.conf
$ ll
lrwxrwxrwx 1 root root 35 Dec 28 15:24 000-default.conf -> ../sites-available/000-default.conf
這個文件是/etc/apache2/sites-available/000-default.conf這個文件的軟鏈接。
配置 ssl 證書,要依靠另一個文件,也就是default-ssl.conf,首先我們需要設置一個軟鏈接,把這個文件鏈接到sites-enabled這個文件夾中:
ln -s /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-enabled/000-default-ssl.conf
修改這個文件000-default-ssl.conf,因爲已經做了軟鏈接,其實這時候修改000-default-ssl.conf或default-ssl.conf都一樣。
將下載好的證書(3個文件)傳到你自定義的目錄中
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
SSLEngine on
# 注意,需要添加這三行添加進這個配置內
SSLCertificateFile 你自定義的路徑/2_xxx.xxx.xxx.crt
SSLCertificateKeyFile 你自定義的路徑/3_xxx.xxx.xxx.key
SSLCertificateChainFile 你自定義的路徑/1_root_bundle.crt
</VirtualHost>
</IfModule>
配置文件參數 | 說明 |
---|---|
SSLEngine on | 啓用 SSL 功能 |
SSLCertificateFile | 證書文件 |
SSLCertificateKeyFile | 私鑰文件 |
SSLCertificateChainFile | 證書鏈文件 |
強制使用https
打開/etc/apache2/sites-available/000-default.conf這個文件,在你的<VirtualHost*:80>這個標籤內隨便一個地方加上三行:
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
啓動 Apache2 的重定向並且重啓 Apache2
sudo a2enmod rewrite
sudo service apache2 restart