本文演示环境

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

服务器软件:Nginx和Apache

SSL证书:DV SSL

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



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

SSL 证书部署过程_java

SSL 证书部署过程_java_02


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


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


1_root_bundle.crt为根证书书链(公钥)

2_19time.cn.crt为证书公钥

3_19time.cn.key是证书私钥


Ubuntu 16.04&&Apache

1、安装Apache

# apt-install apache2 -

2、运行Apache

# service apache restart

运行http://wx.19time.cn,可以看到如下效果。

SSL 证书部署过程_java_03

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

SSL 证书部署过程_java_04

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

# mkdir /etc/SSL
# mv Apache/ SSL

SSL 证书部署过程_java_05


4、安装其他的必须模块

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

SSL 证书部署过程_java_06


# sudo apt-install openssl   
--安装OpenSSL



/etc/apache2/sites-available 
-- 当Apache加载SSL模块会生成此文件。用vim打开。
# sudo vim default-ssl.conf


打开是这样的

SSL 证书部署过程_java_07


需要进行修改第二行 

<VirtualHost _default_:> 
修改为:<VirtualHost wx.time.cn:>

第四行加入一行:

ServerName wx.19time.cn   --得到如下效果

SSL 证书部署过程_java_08

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




SSLCertificateFile /etc/SSL/Apache/_www..com_cert.crt
SSLCertificateKeyFile /etc/SSL/Apache/_www..com.key
SSLCertificateChainFile /etc/SSL/Apache/_root_bundle.crt   
-- 最后这一行手动添加。

完成之后:wq!保存退出。

# vim -.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:

访问就OK了。

Ubuntu系统的Apache搭建就ok了。现在进行Nginx实例稍等,我先重装系统...

.

.

.

.

.

.

.

.


Ubuntu 16.04&&Nginx

SSL 证书部署过程_java_09

Nginx文件夹包含的内容

1、安装Nginx

# sudo apt-install nginx --- 从到安装OpenSSL

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

# cd /etc/nginx/sites-available

# vim default

SSL 证书部署过程_java_10


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

SSL 证书部署过程_java_11



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

SSL 证书部署过程_java_12


将443端口的注释去掉

SSL 证书部署过程_java_13


listen       ssl http2 wxtime.cn;
listen       [::]:ssl http2 wxtime.cn;
server_name  _;
root         /usr/share/nginx/html;

ssl_certificate ;
ssl_certificate_key ;
ssl_session_cache shared:SSL:m;
ssl_session_timeout  m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
-- 退出保存
server {
    listen ;
    server_name www.server.com;
    rewrite ^(.*)$ https:} -- 强制跳转https

4、配置防火墙

CentOS 7 下用的防火墙是firewalld,配置防火墙用命令firewall-cmd


# firewall-cmd --=public --add-port=/tcp --permanent
-- 开启443端口,这之前你需要开启防火墙
# firewall-cmd --list-ports
-- 确认是否开通

# firewall-cmd --reload

# Nginx -s reload
-- 重启

SSL 证书部署过程_java_14