本文演示环境
操作系统(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
-- 重启