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

原文发布于微信公众号 - 数据库SQL(SQLdba)

原文发表时间:2018-01-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术博文

ssh password and passphrase

ssh password and passphrase 1、ssh-keygen -t rsa     采用默认路径,输入passphrase。  2、scp ...

4276
来自专栏散尽浮华

Pupet自动化管理环境部署记录

废话不多说了,下面记录下Puppet在Centos下的部署过程: puppet是什么 puppet是一种基于ruby语言开发的Lnux、Unix、windows...

2286
来自专栏云计算教程系列

如何在Ubuntu上使用SSL来保护Nginx

腾讯云SSL是腾讯云的证书颁发服务,SSL证书(SSL Certificates)提供了安全套接层(SSL)证书的一站式服务,包括证书申请、管理及部署功能,与顶...

4942
来自专栏云计算教程系列

如何在CentOS 6上安装DavMail

如果您的工作场所或学校使用Microsoft Exchange发送电子邮件,您可能希望从不支持Exchange协议的电子邮件客户端访问您的Exchange电子邮...

1924
来自专栏FreeBuf

Apache shiro 1.2.4版本远程命令执行漏洞详解

*本文原创作者:zhujunboabc,本文属FreeBuf原创奖励计划,未经许可禁止转载 搜了一下,发现网上关于apache shiro 1.2.4版本的漏洞...

3625
来自专栏云计算教程系列

如何在Debian 9上为Nginx创建自签名SSL证书

TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。

3743
来自专栏张善友的专栏

Jexus 配置ssl

第一步:登记SSL库。 首先查看“/lib”文件夹中SSL库文件名,该文件名应该是“libssl.so.版本号”,如果没有列出文件名,就证明你的系统还没有安装...

2295
来自专栏云计算教程系列

如何在Debian 9中为Apache创建自签名SSL证书

TLS或传输层安全性及其前身SSL(代表安全套接字层)是用于将正常流量包装在受保护的加密包装中的Web协议。

1922
来自专栏阮一峰的网络日志

HTTPS 升级指南

上一篇文章我介绍了 HTTP/2 协议 ,它只有在 HTTPS 环境才会生效。 为了升级到 HTTP/2 协议,必须先启用 HTTPS。如果你不了解 HTTPS...

3505
来自专栏野路子程序员

给网站配置上HTTPS加密访问(Centos7+Apache+SSL证书)

8745

扫码关注云+社区

领取腾讯云代金券