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 条评论
登录 后参与评论

相关文章

来自专栏深度学习那些事儿

通过解析设置二级域名并申请免费的SSL证书

3074
来自专栏企鹅号快讯

最实用的Linux命令总结

1.linux安装中文环境(可选) 联网之后执行:sudo yum groupinstall chinese-support,安装完语言包之后修改/etc/sy...

1848
来自专栏Hadoop实操

Redhat7.4安装CDH6.0_beta1时分发Parcel异常分析

Fayson在之前的文章中介绍过《如何在Redhat7.4安装CDH6.0.0_beta1》,但当安装CDH并分发Parcel时,浏览器端会报错Parcel的h...

1502
来自专栏NewbieWeb

Nginx与PHP-FPM小结

执行nginx -h查看帮助说明时可以看到执行nginx -s+对应命令可以关闭或者启动nginx;

792
来自专栏康怀帅的专栏

Nginx HTTPS 配置

本文详细介绍了 HTTPS 配置。 GitHub:https://github.com/khs1994-website/nginx-https 完整配置文件 H...

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

如何在FreeBSD 10.1上使用Sendmail通过外部SMTP服务发送电子邮件

设置新的Web服务器时最常见的需求之一是发送电子邮件。最安全,最简单的方法是将服务器连接到SendGrid或Amazon SES等邮件服务。使用外部服务将帮助您...

120
来自专栏BPM云

Ubuntu 16.04 安装Hyperledger/Fabric 1.0.2

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

如何在Ubuntu 16.04上保护OrientDB数据库

OrientDB是一个多模型的NoSQL数据库,支持文档和图形数据库。它是一个Java应用程序,可以在任何操作系统上运行。它也完全支持ACID,支持多主复制。

1166
来自专栏猛牛哥的博客

菜鸟实测可用的Centos rsync文件同步配置步骤

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

如何使用Ubuntu 16.04上的Let's Encrypt保护Apache

本教程将向您展示如何在运行Apache作为Web服务器的Ubuntu 16.04服务器上设置Let's Encrypt的TLS / SSL证书。

260

扫码关注云+社区