前言
当网站完成部署,成功上线后,很多小伙伴就以为 Jobs done 了,事实上,我们还有许多“善后”功夫要做呢。其中一个也是很重要的一点便是在浏览网站时,浏览器输入框左侧无时无刻不在提醒我们的小红点警示:
http 或 https 是一项网络协议,是计算机之间实现网络通信的一种“规则”。具体区别和定义可自行查找。
二者主要区别就是,http(超文本传输协议 HyperText Transfer Protocol)向服务器请求的信息是透过明文传输的,这就产生一个风险,就是一旦被人中途窃听,你的信息如登陆的用户名,密码都会直接被暴露。所以你还敢在http的网站输入你的密码吗?!
而相反的,https(HyperText Transfer Protocol over Secure Socket Layer)可以说是 http 的进阶版。其中的 s 是指 SSL 是处于网络协议中的应用层协议(具体可查询:网络协议)。简单点理解,这个 s 就是图上的那把锁,是把刚才提到的明文传输数据给加密了。从而令客户端和服务端的信息传输更加安全可靠。所以现在 https 才会称为目前的主流,被各大浏览器推崇!
参考:
如何申请SSL证书
事实上,现在有很多平台都可以申请,包括云服务提供商都会有相关入口服务提供。以下只讲我自己在部署时使用的方式。
首先,先去 freessl 平台注册账号,然后申请一张一年期的免费使用证书。
详情请参考:【部署HTTPS】免费SSL证书的申请与安装
如何将证书部署到服务器上
如果是已经通过“宝塔面版“将网站映射到面板内的”网站“站点的话,那具体证书部署方法也可参考上面那个视频连接:【部署HTTPS】免费SSL证书的申请与安装
但如果是没有将网站关联到”宝塔的网站“站点,那就需要在nginx服务器上自己手动部署,可参考:Nginx 安装 SSL 配置 HTTPS 超详细完整全过程
1. 先通过命令行,查看 nginx 是否安装 http_ssl_module 模块。(一般会自带的)
Nginx -V
2. 然后在nginx的目录下创建cert文件夹
/etc/nginx/ mkdir cert
3. 然后将刚才在freessl下载好的证书文件(2个:分别以.pem和.key结尾)上传到cert文件夹中。
可通过scp命令复制上传,也可在宝塔面板内的”文件“下上传;或在Finalshell下上传!
4. 随后在编辑 /etc/nginx/nginx.conf 配置文件:
找到http { server{} }:
http{
server {
# 服务器端口使用443,开启ssl, 这里ssl就是上面安装的ssl模块
listen 443 ssl;
# 域名,多个以空格分开
server_name kehong.ga www.kehong.ga;
# ssl证书地址
ssl_certificate /etc/nginx/cert/full_chain.pem; # pem文件的路径
ssl_certificate_key /etc/nginx/cert/private.key; # key文件的路径
# ssl验证相关配置
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下的内容都是之前在/etc/nginx/sites-enabled内的针对http,端口80的配置。
#(将其copy于此是由于,希望nginx和uwsgi做同样的事:nginx处理静态资源,动态交给uwsgi)
# 静态资源所在位置,nginx自己处理
location /static {
alias //www/wwwroot/RealBlog/blog/static_collected;
}
location /media {
alias //www/wwwroot/RealBlog/media;
}
# 动态请求(与后台交互的数据)nginx(只处理静态(页面写啥是啥的数据,不涉及后台交互))转发给uwsgi
location / {
# root html; #返回的是nginx自己本身的首页,即“welcome to ngix!”
# index index.html index.htm; #返回的是nginx自己本身的首页,即“welcome to ngix!”
# 转发端口必须和uwsgi配置文件中socket端口一致
uwsgi_pass 127.0.0.1:8001;
include /etc/nginx/uwsgi_params;
}
}
#此server是为了监听http的80端口,将http的请求,转变为https的请求
#将 http 重定向 https
server{
listen 80;
server_name kehong.ga www.kehong.ga;
return 301 https://$server_name$request_uri;
}
}
5. 随后通过重启Nginx来完成部署。
service nginx restart
ps:之后证书一年期到期后,将服务器nginx/cert内的证书文件更新即可!
最后:贴上/etc/nginx/site-enabled/realblog.ini的http:端口80的原本配置文件
server {
listen 80;
server_name realblog;
charset UTF-8;
client_max_body_size 75M;
location /static {
alias //www/wwwroot/RealBlog/blog/static_collected;
}
location /media {
alias //www/wwwroot/RealBlog/media;
}
location / {
uwsgi_pass 127.0.0.1:8001;
include /etc/nginx/uwsgi_params;
}
}
发表评论
您尚未登录,登录后方可评论~~登陆 or 注册