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

相关文章

来自专栏运维小白

13.1 设置更改root密码

设置更改root密码目录概要 /usr/local/mysql/bin/mysql -uroot 更改环境变量PATH,增加mysql绝对路径 mysqladm...

2226
来自专栏康怀帅的专栏

Apache 配置

本文简要介绍了 Apache 配置 https 、子域名。 如果启动出现错误,搜索一下错误信息,一般启用某些模块就行了。 https 修改主配置文件 /usr/...

3295
来自专栏学一学大数据

自建VPN最简洁教程!

9309
来自专栏龙渊阁测试精英

GIT_服务器与本地环境构建

很多yum源上自动安装的git版本为1.7,这里手动编译重新安装 1:安装依赖包 yum install curl-devel expat-devel gett...

633
来自专栏Albert陈凯

SSH免密登录,RSA认证登录

说明 在客户机生成公钥和私钥, 然后将公钥拷贝到服务器.ssh/authorized_keys中, 客户机即可免密登录服务器了. 安装sshd yum -y i...

3007
来自专栏散尽浮华

Centos6.8下编译安装LAMP的操作记录梳理

之前用的最多的web框架是LNMP,偶尔也会用到LAMP。接下来简单说下LAMP环境的部署记录,这里选择源码安装的方式: 1)Mysql的安装 部署过程参考:h...

2065
来自专栏流柯技术学院

CentOS下安装JDK的三种方法

//安装完之后,默认的安装目录是在: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64

763
来自专栏LinXunFeng的专栏

Ubuntu 安装nginx 来搭建推流服务器

942
来自专栏菩提树下的杨过

VMware Fusion 中如何复制centos/linux虚拟机

今天想在mac本上,弄几个centos的虚拟机,尝试搭建hadoop的全分布环境。一台台虚拟机安装过去太麻烦了,想直接将现有的centos虚拟机复制几份完事,但...

1947
来自专栏极客慕白的成长之路

在Mac下配置PHP开发环境:Apache+php+MySql

<span class="pln">sudo apachectl start</span>

573

扫描关注云+社区