百度百科:
SSL 证书具有服务器身份验证和数据传输加密功能,实现数据信息在客户端和服务器之间的加密传输,对传送的数据进行加密和隐藏,确保数据在传送中不被改变,即数据的完整性。
如果您的网站使用 SSL 证书 ,您的客户就知道他们的交易安全可靠,并且充分信赖您的网站。
1、申请SSL证书:https://letsencrypt.osfipin.com/user-0408/order/apply (Let’s Encrypt - 免费的SSL/TLS证书)
登录后
到此步骤后:
在自己的服务器上:
(1)、安装httpd服务
sudo yum install httpd
Apache 的所有配置文件都位于 /etc/httpd/conf 和 /etc/httpd/conf.d 。
网站的数据默认位于 /var/www,但如果你愿意,你可以改变它。
(2)、修改配置文件
vim /etc/httpd/conf/httpd.conf
加入或修改:Listen 0.0.0.0:80
表示Apache 要监听页面请求的 IP 地址和端口
DocumentRoot 配置项指定组成网站页面的 HTML 文件的位置。该配置项不需要更改,因为它已经指向标准位置。该行应该看起来像这样:
DocumentRoot"/var/www/html"
在80端口未被占用情况下启动,(可配置其他端口)
systemctl start httpd
或
systemctl restart httpd
浏览器访问自己服务器对应的域名:如下界面表示成功
3、回到验证
由以上图中要验证的
地址:http://www.awz.ink/.well-known/acme-challenge/-N8G2g4xVczjFsFhV0pC8IJS3d7w1HDadB_hX5kl-5I
内容:-N8G2g4xVczjFsFhV0pC8IJS3d7w1HDadB_hX5kl-5I.wDRfPV7txNQ4IwwYYbARQjlJJG5bQ7DwVyUzHIYQKUE
注意:地址要和要验证的地址一样,内容也是,否则申请不了证书
验证
申请证书成功
四、部署证书(再次以nginx部署)
(1)、上传下载的证书压缩包到服务器上
(2)、进入自己的nginx配置文件nginx.conf修改配置文件
vim /usr/local/nginx/conf/nginx.conf
server{
listen 443 ssl http2;
ssl_certificate /root/SSL/mysll/fullchain.crt;
ssl_certificate_key /root/SSL/mysll/private.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# 开启OCSP stapling
ssl_stapling on;
ssl_stapling_verify on;
}
server {
listen 80;
#填写绑定证书的域名
server_name awz.ink;
#把http的域名请求转成https return 301 https://$host$request_uri;
}
配置参考:https://www.yuque.com/osfipin/letsencrypt/uslilx
修改完保存退出
五、启动nginx服务器
前提:端口不能被占用(443、80)
nginx缺少http_ssl_module模块
(2)、nginx开启SSL模块
切换到源码包:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module
make编译
然后将刚刚编译好的nginx覆盖掉原有的nginx(这个时候nginx要停止状态)
cp ./objs/nginx /usr/local/nginx/sbin/
查看nginx安装后所有的模块
/usr/local/nginx/sbin/nginx -V
若之前搭建的http服务没有关闭,则关闭,否则80端口被占用
systemctl stop httpd
重启ngnix服务器就ok了
未部署时
部署SSL证书后