encrypt
1、Let's Encrypt
Let's Encrypt 是一个免费、开放,自动化的证书颁发机构,由 ISRG(Internet Security Research Group)运作。ISRG 是一个关注网络安全的公益组织,其赞助商包括 Mozilla、Akamai、Cisco、EFF、Chrome、IdenTrust、facebook等公司。ISRG 的目的是消除资金和技术领域的障碍,全面推进网站从HTTP到HTTPS过度的进程。目前,包括FireFox、Chrome在内的主流浏览器都已经支持Let's Encrypt证书。
官网:https://letsencrypt.org/
项目地址:https://github.com/letsencrypt/letsencrypt
2、安装配置
从项目地址下载 letsencrypt-auto 脚本:
# 选择下载路径,我这里下载在/tmp目录下
$ cd /tmp
# 下载
$ git clone https://github.com/letsencrypt/letsencrypt
# 进入所在目录
$ cd letsencrypt
# letsencrypt-auto 帮助查看
$ ./letsencrypt-auto --help
创建、获取证书:(使用standalone,注意需要停止nginx 80端口服务)
./letsencrypt-auto certonly --standalone --email [email protected] -d www.domain.com
得到结果:
证书存放路径:/etc/letsencrypt/live/www.domain.com/
cert.pem 申请的服务器证书文件
privkey.pem 服务器证书对应的私钥
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书
fullchain.pem 包含服务器证书的全部证书链文件
其它命令参数说明:
run:获取并安装证书到当前的Web服务器
certonly:获取或续期证书,但是不安装
renew:在证书快过期时,续期之前获取的所有证书
-d DOMAINS:一个证书支持多个域名,用逗号分隔
--apache:使用 Apache 插件来认证和安装证书
--standalone:运行独立的 web server 来验证
--nginx:使用 Nginx 插件来认证和安装证书
--webroot:如果目标服务器已经有 web server 运行且不能关闭,可以通过往服务器的网站根目录放置文件的方式来验证
--manual:通过交互式方式,或 Shell 脚本手动获取证书
3、Nginx安装配置
# 安装:
$>apt-get install nginx
# 目录:
# /usr/sbin/nginx:主程序
# /etc/nginx:存放配置文件
# /usr/share/nginx:存放静态文件
# /var/log/nginx:存放日志
# 进入目录:
$>cd /etc/nginx/sites-available
# 编辑default文件:
$>vim default
# 在文件末尾添加:
server {
listen 443 ssl;
server_name sign.tokenview.com;
ssl on;
# 修改以下文件(替换成自己的域名)
ssl_certificate /etc/letsencrypt/live/www.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.domain.com/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+medium:+LOW:+SSLv3:+EXP;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080; #web应用代理跳转url
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# http重定向到https
server {
listen 80;
server_name www.domain.com;
return 301 https://$server_name$request_uri;
}
配置完成后重启nginx,使用浏览器即可查看效果。
4、续期
# 强制续期
$>./letsencrypt-auto renew --force-renewal
另外,还可以写脚本进行自动续期,在这里不做详细阐述。
-------------------------------------------
有任何建议或问题,欢迎加微信一起学习交流,欢迎从事IT,热爱IT,喜欢深挖源代码的行业大牛加入,一起探讨。
个人微信号:bboyHan
SQL Error: select * from ***_ecms_news where id<>'59653' and (title like '%Let's%' or title like '%Encrypt%') order by newstime desc limit 5