SSL 证书部署过程

本文演示环境

操作系统(64位):Ubuntu 16.04  CentOS 7.3 

服务器软件:Nginx和Apache

SSL证书:DV SSL

域名:19time.cn(已经解析二级域名wx.19time.cn





腾讯云申请的证书里面包含4个文件夹和1个文件。申请完成等个十几分钟,就会成功了。

SSL 证书部署过程

SSL 证书部署过程

图文中四个文件夹为相对应的软件部署的文件夹。

以Apache文件夹里的内容说明一下,文件夹中的文件是什么。

SSL 证书部署过程

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,可以看到如下效果。

SSL 证书部署过程

此时访问:http://wx.19time.cn是不会成功的。

SSL 证书部署过程

3、将证书用FTP工具上传。

# mkdir /etc/SSL

# mv Apache/

/etc/

SSL

SSL 证书部署过程

4、安装其他的必须模块

# sudo a2enmod ssl

-- 启用ssl模块,启用之后,要求重启Apache

SSL 证书部署过程

# sudo apt-

get

install openssl

--安装OpenSSL

SSL 证书部署过程

# cd

/etc/apache2/sites-available

-- 当Apache加载SSL模块会生成此文件。用vim打开。

# sudo vim default-ssl.conf

SSL 证书部署过程

打开是这样的

SSL 证书部署过程

需要进行修改第二行 

<VirtualHost _default_:

443

>

修改为:<VirtualHost wx.

19

time.cn:

443

>

第四行加入一行:

ServerName wx.

19

time.cn --得到如下效果

SSL 证书部署过程

然后进行修改证书路径,32,33,行附近。

SSL 证书部署过程

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

SSL 证书部署过程

# service apache2 restart

-- 重启Apache,另外,你需要在云服务器安全组配置中放开443端口访问权限。

-- 还有一点注意,如果你需要是http://wx.19time.cn

-- 重定向到http://wx.19time.cn

-- 需要在网站的根目录下,也就是/var/www/html下 配置.htaccess文件

-- 如果没有则需要创建

# ls -a 可以查看隐藏文件。

--------------------------.htaccess配置分割线-----------------------------

RewriteEngine on

RewriteCond %{HTTPS} !=on

RewriteRule ^(.*) http:

//%{SERVER_NAME}$1 [L,R]



# service apache2 restart

访问就OK了。

Ubuntu系统的Apache搭建就ok了。现在进行Nginx实例

稍等,我先重装系统...

.

.

.

.

.

.

.

.

Ubuntu 16.04&&Nginx

SSL 证书部署过程

Nginx文件夹包含的内容

1、安装Nginx



# sudo apt-

get

install nginx -

y



-- 从到安装OpenSSL

之前都是一样的操作,

-- Nginx与Apahce的ssl配置文件不一样。

.........此处省略一些操作......

# cd

/etc/nginx/sites-available

# vim default

SSL 证书部署过程

去掉注释,将80端口的注释。default_server 改成自己的。

SSL 证书部署过程

SSL 证书部署过程

ssl on;

listen

443

ssl wx

.19

time.cn;

listen [::]:

443

ssl wx

.19

time.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



SSL 证书部署过程



将443端口的注释去掉

SSL 证书部署过程

listen

443

ssl http2 wx

.19

time.cn;

listen [::]:

443

ssl http2 wx

.19

time.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:

1

m;

ssl_session_timeout

10

m;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

-- 退出保存

server {

listen

80

;

server_name www.server.com;

rewrite ^(.*)$ http:

//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

-- 重启

SSL 证书部署过程