昨天咱們看到百度發佈"百度烽火算法升級",提到網站若是被劫持或者攔截可能會下降網站的權重和排名等問題。這使得咱們網站須要使用HTTPS SSL證書來減小被攔截劫持的風險。其實在早些時候咱們已經看到不少瀏覽器都強制要求網站使用SSL證書,若是不使用的會被提示不安全網站URL。此次機遇百度文章發佈以後,能夠看到你們應該還在猶豫的話會新增SSL證書實現HTTPS訪問。html
目前,大部分網站都會採用的是NGINX、APACHE等WEB架構,因此咱們只須要學習這兩個架構技術就能夠。這裏咱們須要注意的,SSL證書的安裝分兩種, 一種是咱們服務器自帶的一鍵安裝免費SSL證書。好比let's encrypt證書是免費的。對於我的網站或者小型網站是可使用的,並且大部分瀏覽器也是支持的。可是做爲商業網站,咱們總不能去使用免費證書吧。因此若是是購買第三方的付費證書,咱們須要作的就是配置到服務器中。nginx
在這篇文章中,筆者將會分享在常規的NGINX、APCHE中如何配置SSL證書。其實配置SSL證書不難的,只要咱們認真看下過程就能夠。若是咱們我的網站可使用免費證書,通常LAMP或者LNMP腳本都是自帶免費證書的。具體能夠參考:算法
一、LNMP環境一鍵安裝免費Let's Encrypt SSL證書apache
二、寶塔面板不一樣PHP版本、僞靜態設置且一鍵免費安裝Let's Encrypt瀏覽器
可是,若是咱們是購買的付費證書則不能夠這麼自動化安裝SSL,咱們須要手工安裝。安全
第1、NGINX WEB引擎安裝SSL證書服務器
在當前網站下服務器配置文件的.conf文件中添加。session
server { listen 443; server_name www.domain.com; #填寫綁定證書的域名 ssl on; ssl_certificate 1_www.domain.com_bundle.crt; ssl_certificate_key 2_www.domain.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配置 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置 ssl_prefer_server_ciphers on; location / { root html; #站點目錄 index index.html index.htm; } }
安裝完畢以後,咱們須要命令檢查是否生效。架構
nginx -t
檢測沒有報錯重啓NGINX。dom
service nginx reload
重啓NGINX後生效。
第2、Apache WEB引擎安裝SSL
咱們須要先在Apache根目錄下 conf/httpd.conf 文件,找到 #LoadModule ssl_module modules/mod_ssl.so 和 #Include conf/extra/httpd-ssl.conf,去掉前面的#號註釋;編輯Apache根目錄下 conf/extra/httpd-ssl.conf 文件。
修改以下內容:
<VirtualHost www.domain.com:443> DocumentRoot "/var/www/html" ServerName www.domain.com SSLEngine on SSLCertificateFile /usr/local/apache/conf/2_www.domain.com_cert.crt SSLCertificateKeyFile /usr/local/apache/conf/3_www.domain.com.key SSLCertificateChainFile /usr/local/apache/conf/1_root_bundle.crt </VirtualHost>
配置完成後,從新啓動 Apache 就可使用HTTPS網址訪問。相對來講好像NGINX比較簡單一些。
第3、實例參考安裝SSL過程
一、購買證書後合併證書
咱們在購買證書後會看到.crt和.ca-bundle文件,須要將這2個文件合併到一個文件.crt中。
二、上傳證書
咱們須要將上面的CRT文件和KEY文件上傳到網站服務器目錄中,這個具體放到哪裏沒事。由於咱們能夠在引用的時候調用對應本身的路徑。
三、引用CONF文件路徑
listen 443 ssl http2; ssl_certificate /usr/local/nginx/conf/ssl/網站域名.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/網站域名.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; ssl_prefer_server_ciphers on; ssl_session_timeout 10m; ssl_session_cache builtin:1000 shared:SSL:10m; ssl_buffer_size 1400; add_header Strict-Transport-Security max-age=15768000; ssl_stapling on; ssl_stapling_verify on;
這裏咱們將配置文件貼到conf文件中,而後檢測Nginx,後沒有問題就重啓生效。
四、收尾工做
若是咱們須要強制HTTP跳轉至HTTPS,則須要在conf配置文件中設置301強制跳轉。
這樣,咱們才能夠完成整個的SSL證書安裝,是否是也不是很難?
本文能夠參考的文獻: