1. 程式人生 > 其它 >SSL 證書部署過程

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
-- 重啟