一、认识CA认证、SSL证书、HTTPS
1.CA认证百度百科:https://baike.baidu.com/item/CA认证
2.SLL证书百度百科:https://baike.baidu.com/item/SSL证书
3.https百度百科:https://baike.baidu.com/item/https
总结:CA是数字证书管理机bai构,SSL证书是数字证书的一种du,CA签发zhiSSL证书,https是SSL证书的一种表现形式dao。服务器端部署了SSL证书,浏览器端才会显示HTTPS,HTTPS=HTTP+SSL。
二、实验环境
LNMP+wordpress
三、安装SSL证书
1.购买证书
这边使用阿里云免费版本
2.证书申请(核验身份的过程)
3.下载证书
申请审核通过后下载证书
根据发布服务器的应用下载证书
4.安装ssl证书
(1)将ssl证书上传到服务器,在nginx的安装目录创建cert目录,将ssl证书拷贝到cert目录下.
cd /etc/nginx
mkdir cert
cp /root/4138218_lmjlinux.cn_nginx/* /etc/nginx/cert
(2)修改nginx的配置文件
vim /etc/nginx/nginx.conf
找到一下配置信息
修改为如下:
#以下属性中以ssl开头的属性代表与证书配置有关,其他属性请根据自己的需要进行配置。
server {
listen 443 ssl; #SSL协议访问端口号为443。此处如未添加ssl,可能会造成Nginx无法启动。
server_name localhost; #将localhost修改为您证书绑定的域名,例如:www.example.com。
root html;
index index.php index.html index.htm;
ssl_certificate cert/domain name.pem; #将domain name.pem替换成您证书的文件名。
ssl_certificate_key cert/domain name.key; #将domain name.key替换成您证书的密钥文件名。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #使用此加密套件。
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
ssl_prefer_server_ciphers on;
location / {
root html; #站点目录。
index index.php index.html index.htm;
}
}
保存文件,重启服务
systemctl restart nginx
访问失败
排错思路:目前我这边测试将443端口指向了/usr/share/nginx/html/wordpress1目录,其中我创建了test.html页面,https方式是可以访问的说明nginx的配置没有问题。
mkdir /usr/share/nginx/html/wordpress1
vim test.html
vim /etc/nginx/nginx.conf
systemctl restart nginx
访问
之前使用/usr/share/nginx/html/wordpress目录时反馈错误 ,这个错误怀疑是wordpress环境代码的问题。(本人代码薄弱,未知wordpress后台代码结构)
实验成功