close
在Apache 安裝免費的SSL憑證
- 免費憑證沒辦法由IP直接申請,要有固定的網域。可以去https://my.freenom.com申請。
- 憑證申請:https://www.sslforfree.com
- 在申請的網域根目錄建立.well-know/acme-challange/資料夾,該網站會要求下載驗證檔案,放到這個目錄底下,這個目錄必須是80port。
- 在申請憑證的網站點選驗證,如果驗證成功,就會出現Download SSL Certifcate。
- 按下Download All SSL Certificate Files 會得到sslforfree.zip,內含三個檔案:certificate.crt、private.key、ca_bundle.crt。
- 因為是免費的SSL,所以憑證三個月會失效,必須要到這個網站重複以上步驟。
- 如果你是用Apache 就繼續往下做,如果你是用Nginx就跳到步驟11。
- 把這三個檔案放到/etc/apache2/ssl.crt/中。
- 在/etc/apache2的apache2.conf中加上
IncludeOptional sites-enabled/*.conf
- /etc/apache2/sites-enabled/中所有以.conf結尾的apache2設定檔。
- 在/etc/apache2/sites-enabled/資料夾中
- defalult-ssl.conf檔案。
<VirtualHost *:443>
DocumentRoot /var/www/html/laravel/public
ServerAdmin abcdefg@gmail.com
SSLEngine on
SSLCertificateFile /etc/apache2/ssl.crt/certificate.crt
SSLCertificateKeyFile /etc/apache2/ssl.crt/private.key
SSLCertificateChainFile /etc/apache2/ssl.crt/ca_bundle.crt
< /VirtualHost >
- 設定完畢,重啟apache2,跳到步驟12
$sudo service apache2 restart
11.如果你是用Nginx
在步驟5拿到的檔案找一個資料夾放著就行了,我這裡是用/etc/nginx/ssl/
在nginx的安裝資料夾內,有一個default.conf ,我自己的nginx是位於
/etc/nginx/site-enabled/default.conf
裡面,有一個部分,改成下面這樣
server {
listen 80 default_server;
listen [::]:80 default_server;
# 加入 SSL 設定
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
# 憑證與金鑰的路徑
ssl_certificate /etc/nginx/ssl/certificate.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
# ...
}
在Nginx的安裝資料夾。
最後重新啟動nginx即可。
12.檢查有沒有成功。
全站熱搜