2019年3月22日 星期五

[GCP/Compute Engine/Ubuntu/Apache/Laravel] Godaddy SSL申請與使用


1.前往Godaddy網站看他步驟

我如何在伺服器上安裝 SSL 憑證?

2.產生憑證簽名申請 (CSR)

Apache要輸入指令產生crt檔
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr


3.輸入要求資訊後,將產生crt檔與key檔

記得要從-----BEGIN CERTIFICATE REQUEST-----複製到-----END CERTIFICATE REQUEST-----
等一下要輸入到godaddy的申請介面中

4.申請 SSL 憑證

購買好SSL的方案以後,可參考此影片將剛剛複製的那串貼進去
點我看影片
其實幾秒鐘後,就可以在你的後台看到申請成功的結果


5.下載SSL憑證

點我看說明
下載下來的zip檔會產生兩個crt檔(一個是亂碼,一個是gd_bundle-g2-g1.crt) 就把他放到你的webserver的主機上


6.在Apache 2.4上做設定

若不知道你apache的版本,可下此指令:apache2 -v
點我看說明
下載下來的zip檔會產生兩個crt檔(一個是亂碼,一個是gd_bundle-g2-g1.crt)
就把他放到你的webserver的主機上



7.設定/etc/apache2/sites-available/default-ssl.conf

sudo vim /etc/apache2/sites-available/default-ssl.conf 

SSLEngine on
SSLCertificateFile 剛剛用openssl產生的key檔
SSLCertificateKeyFile 剛剛godaddy產生的crt檔(亂碼那隻)
SSLCertificateChainFile 剛剛godaddy產生的crt檔(gd_bundle-g2-g1.crt)



8.啟動與重開機

sudo a2ensite default-ssl.conf //啟動你剛剛編輯的那隻
sudo service apache2 restart //重開主機 



9.設定Laravel的vhost

由於Laravel公開的頁面是在public裡面,所以要用virtual host導過去
之前文章可知,我的vhost檔案是放在/etc/apache2/sites-available/laravel.conf
sudo vim /etc/apache2/sites-available/laravel.conf

<VirtualHost *:443>
    ServerAdmin webmaster@localhost
    ServerName 你的DomainName:443
    DocumentRoot /var/www/html/你的專案名稱/public

    SSLEngine on
    SSLCertificateFile 剛剛用openssl產生的key檔
    SSLCertificateKeyFile 剛剛godaddy產生的crt檔(亂碼那隻)
    SSLCertificateChainFile 剛剛godaddy產生的crt檔(gd_bundle-g2-g1.crt)
    ErrorLog ${APACHE_LOG_DIR}/error.log

    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory /var/www/html/你的專案名稱>
      Options Indexes FollowSymLinks
      AllowOverride All
      Require all granted
    </Directory>
</VirtualHost>


10.目前還沒有讓80與443共存的狀況成功,之後有空再研究囉

沒有留言:

張貼留言