前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SSL 证书部署过程

SSL 证书部署过程

作者头像
赵腰静
发布2018-03-09 15:04:55
4.8K0
发布2018-03-09 15:04:55
举报
文章被收录于专栏:程序猿

本文演示环境

操作系统(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

代码语言:javascript
复制
# apt-get install apache2 -y 

2、运行Apache

代码语言:javascript
复制
# service apache restart 

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

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

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

代码语言:javascript
复制
# mkdir /etc/SSL
# mv Apache/ /etc/SSL

4、安装其他的必须模块

代码语言:javascript
复制
# sudo a2enmod ssl  
-- 启用ssl模块,启用之后,要求重启Apache

代码语言:javascript
复制
# sudo apt-get install openssl   
--安装OpenSSL

代码语言:javascript
复制
# cd /etc/apache2/sites-available 
-- 当Apache加载SSL模块会生成此文件。用vim打开。
# sudo vim default-ssl.conf

打开是这样的

需要进行修改第二行

代码语言:javascript
复制
<VirtualHost _default_:443> 
修改为:<VirtualHost wx.19time.cn:443>

第四行加入一行:

代码语言:javascript
复制
ServerName wx.19time.cn   --得到如下效果

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


代码语言:javascript
复制
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!保存退出。

代码语言:javascript
复制
# vim 000-default.conf    
-- 修改成443

代码语言:javascript
复制
# service apache2 restart     
-- 重启Apache,另外,你需要在云服务器安全组配置中放开443端口访问权限。
-- 还有一点注意,如果你需要是http://wx.19time.cn
-- 重定向到https://wx.19time.cn
-- 需要在网站的根目录下,也就是/var/www/html下 配置.htaccess文件
-- 如果没有则需要创建
# ls -a 可以查看隐藏文件。
--------------------------.htaccess配置分割线-----------------------------
代码语言:javascript
复制
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

代码语言:javascript
复制
# sudo apt-get install nginx -y

-- 从到安装OpenSSL之前都是一样的操作,
-- Nginx与Apahce的ssl配置文件不一样。

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

# cd /etc/nginx/sites-available # vim default

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

代码语言:javascript
复制
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

代码语言:javascript
复制
# yum install nginx -y

2、打开Nginx配置文件修改配置nginx.conf

# cd /etc/Nginx/ # vim nginx.conf

3、注释掉80

将443端口的注释去掉

代码语言:javascript
复制
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;
-- 退出保存
代码语言:javascript
复制
server {
    listen 80;
    server_name www.server.com;
    rewrite ^(.*)$ https://www.server.com;
} -- 强制跳转https
代码语言:javascript
复制

4、配置防火墙

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

代码语言:javascript
复制
# firewall-cmd --zone=public --add-port=443/tcp --permanent
-- 开启443端口,这之前你需要开启防火墙
代码语言:javascript
复制
# firewall-cmd --list-ports
-- 确认是否开通

# firewall-cmd --reload

# Nginx -s reload
-- 重启
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据库SQL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档