SSL 證書部署過程
本文演示環境
作業系統(64位):Ubuntu 16.04 CentOS 7.3 伺服器軟體:Nginx和Apache SSL證書:DV SSL 域名:19time.cn(已經解析二級域名wx.19time.cn)
騰訊雲申請的證書裡面包含4個資料夾和1個檔案。申請完成等個十幾分鍾,就會成功了。
圖文中四個資料夾為相對應的軟體部署的資料夾。
以Apache資料夾裡的內容說明一下,資料夾中的檔案是什麼。
1_root_bundle.crt為根證書書鏈(公鑰) 2_19time.cn.crt為證書公鑰 3_19time.cn.key是證書私鑰
Ubuntu 16.04&&Apache
1、安裝Apache
# apt-get install apache2 -y
2、執行Apache
# service apache restart
執行http://wx.19time.cn,可以看到如下效果。
此時訪問:https://wx.19time.cn是不會成功的。
3、將證書用FTP工具上傳。
# mkdir /etc/SSL
# mv Apache/ /etc/SSL
4、安裝其他的必須模組
# sudo a2enmod ssl
-- 啟用ssl模組,啟用之後,要求重啟Apache
# sudo apt-get install openssl --安裝OpenSSL
# cd /etc/apache2/sites-available
-- 當Apache載入SSL模組會生成此檔案。用vim開啟。
# sudo vim default-ssl.conf
開啟是這樣的
需要進行修改第二行
<VirtualHost _default_:443>
修改為:<VirtualHost wx.19time.cn:443>
第四行加入一行:
ServerName wx.19time.cn --得到如下效果
然後進行修改證書路徑,32,33,行附近。
SSLCertificateFile /etc/SSL/Apache/2_www.domain.com_cert.crt SSLCertificateKeyFile /etc/SSL/Apache/3_www.domain.com.key SSLCertificateChainFile /etc/SSL/Apache/1_root_bundle.crt -- 最後這一行手動新增。
完成之後:wq!儲存退出。
# vim 000-default.conf
-- 修改成443
# service apache2 restart
-- 重啟Apache,另外,你需要在雲伺服器安全組配置中放開443埠訪問許可權。
-- 還有一點注意,如果你需要是http://wx.19time.cn
-- 重定向到https://wx.19time.cn
-- 需要在網站的根目錄下,也就是/var/www/html下 配置.htaccess檔案
-- 如果沒有則需要建立
# ls -a 可以檢視隱藏檔案。
--------------------------.htaccess配置分割線-----------------------------
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}$1 [L,R]
# service apache2 restart
訪問就OK了。
Ubuntu系統的Apache搭建就ok了。現在進行Nginx例項稍等,我先重灌系統...
.
.
.
.
.
.
.
.
Ubuntu 16.04&&Nginx
Nginx資料夾包含的內容
1、安裝Nginx
# sudo apt-get install nginx -y
-- 從到安裝OpenSSL之前都是一樣的操作,
-- Nginx與Apahce的ssl配置檔案不一樣。
.........此處省略一些操作......
# cd /etc/nginx/sites-available # vim default
去掉註釋,將80埠的註釋。default_server 改成自己的。
ssl on;
listen 443 ssl wx.19time.cn;
listen [::]:443 ssl wx.19time.cn;
ssl_certificate /etc/SSL/Nginx/1_19time.cn_bundle.crt
ssl_certificate_key /etc/SSL/Nginx/2_19time.cn.key
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
---------------------分割線-----------------------------
重啟Nginx
# sudo service nginx restart
CentOS 7.3&&http(Nginx)
1、安裝Nginx
# yum install nginx -y
2、開啟Nginx配置檔案修改配置nginx.conf
# cd /etc/Nginx/ # vim nginx.conf
3、註釋掉80
將443埠的註釋去掉
listen 443 ssl http2 wx.19time.cn;
listen [::]:443 ssl http2 wx.19time.cn;
server_name _;
root /usr/share/nginx/html;
ssl_certificate "/etc/SSL/Nginx/1_19time.cn_bundle.crt";
ssl_certificate_key "/etc/SSL/Nginx/2_19time.cn.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
-- 退出儲存
server {
listen 80;
server_name www.server.com;
rewrite ^(.*)$ https://www.server.com;
} -- 強制跳轉https
4、配置防火牆
CentOS 7 下用的防火牆是firewalld,配置防火牆用命令firewall-cmd
# firewall-cmd --zone=public --add-port=443/tcp --permanent
-- 開啟443埠,這之前你需要開啟防火牆
# firewall-cmd --list-ports
-- 確認是否開通
# firewall-cmd --reload
# Nginx -s reload
-- 重啟