阿里雲申請免費SSL證書並下載(包含xxx.key|xxx._root_bundle.crt|xxx._public.crt三個文件)
用https是自己的網站收到保護,不易被攻克,所以保護自己的網站,有必要配置https協議
第一步:
檢查是否配置openssl sudo a2enmod ssl 如果是: Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Module socache_shmcb already enabled Module ssl already enabled 這樣的話,就無需再配置了。 如果不是進行以下操作 sudo apt-get install openssl 安裝 sudo a2enmod ssl 開啟ssl 無效的話輸入 sudo ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled/ssl.load sudo ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled/ssl.conf
第二步:
查看/etc/apache2/ports.conf是否有端口號 Listen 80 Listen 443 在etc/apache2的目錄下創建一個cert目錄 里面放入之前下載好的ssl證書,把crt后綴改成pem后綴,a.key|a_chain.pem|a_public.pem
第三步:
在etc/apache2/sites-enabled/default-ssl.conf 文件里改配置 寫入以下內容在對應的位置: ServerAdmin webmaster@localhost DocumentRoot /var/www/html/wedding/public #網站入口目錄 # Enable/Disable SSL for this virtual host. SSLEngine on # SSLCertificateFile directive is needed. SSLCertificateFile /etc/apache2/cert/a_public.pem SSLCertificateKeyFile /etc/apache2/cert/a.key # certificate for convinience.
第四步:
在/etc/apache2/mods-enabled/ssl.conf修改以下內容在對應的位置 # Enable only secure ciphers: SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
# Default: Off SSLHonorCipherOrder on # SSL v2 is no longer supported SSLProtocol all -SSLv2 -SSLv3
第五步:
整理完上面幾步后重啟apache sudo /etc/init.d/apache2 restart
第六步:
測試:https://www.wplhc.com
第七步:
如果想把http強制轉換成https進行以下操作 1.啟動重定向 sudo a2enmod rewrite 2.在/etc/apache2/sites-enabled/000-default.conf文件下寫入以下內容(必須寫在<VirtualHost *:80></VirtualHost>這個范圍里) RewriteEngine on RewriteCond %{HTTPS} !=on RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R=301] 重啟apache: sudo /etc/init.d/apache2 restart 一切ok