您的位置:首页 > 理论基础 > 计算机网络

免费申请SSL证书及搭建HTTPS网站

2017-06-17 00:49 876 查看
闲来无事,就想自己弄个HTTPS网站。至于什么是HTTPS,它和HTTP区别不在本文讨论之列,想了解的可以百度或谷歌。

先介绍一下我用的系统环境是Centos 7 64位。

准备工作

安装 git

yum -y install git


没有安装NGINX的, 可以通过以下命令

yum -y install nginx


申请SSL证书

我申请的是Let’s Encrypt免费SSL证书。

一方面考虑到Let’s Encrypt的证书是免费的,再就是用起来放心(它由 Linux 基金会托管,由Mozilla、思科、Akamai、IdenTrust和EFF等组织发起,目的就是向网站自动签发和管理免费证书,以便加速互联网由HTTP过渡到HTTPS)。

在获取某个站点证书文件的时候,我们需要在安装PYTHON2.7以及GIT,更需要将域名解析到当前VPS主机IP中。

git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt
./letsencrypt-auto certonly --standalone --email xxxxxx@gmail.com -d gzqiang.cn   -d www.gzqiang.cn


注:为了避免错误,尽量用国外的邮箱,我用的谷歌邮箱。

第一步,看到这界
4000




出现(A)gree/(C)ancel 时,输入“A”回车。

下一步



输入 “Y” 回车

在完成Let’s Encrypt证书的生成之后,我们会在”/etc/letsencrypt/live/gzqiang.cn/”域名目录下有4个文件就是生成的密钥证书文件。

cert.pem - Apache服务器端证书

chain.pem - Apache根证书和中继证书

fullchain.pem - Nginx所需要ssl_certificate文件

privkey.pem - 安全证书KEY文件

配置HTTPS网站

我用的Nginx ,所以只用 fullchain.pem,privkey.pem 就可以了

配置如下

Nginx配置文件 www.conf

server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/letsencrypt/live/gzqiang.cn/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gzqiang.cn/privkey.pem;

server_name  www.gzqiang.cn;
root  /var/www/;
index  index.html index.htm;
location / {
autoindex  off;
}
location ~ .*\.(php|php5)?$  {
fastcgi_pass 127.0.0.1:8888;
fastcgi_pass unix:/dev/shm/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
}


如果想强制使用https访问(http跳转到https)

新建 http80.conf

server {
listen  80;
server_name  www.gzqiang.cn;
rewrite ^(.*)$  https://$host$1 permanent;
}


重启nginx

systemctl restart nginx


至此快速搭建https 网站完成。

解决Let’s Encrypt免费SSL证书有效期问题

我们从生成的文件中可以看到,Let’s Encrypt证书是有效期90天的,需要我们自己手工更新续期才可以。

./letsencrypt-auto certonly --renew-by-default --email xxxxx@gmail.com -d gzqiang.cn   -d www.gzqiang.cn


这样我们在90天内再去执行一次就可以解决续期问题,这样又可以继续使用90天。如果我们怕忘记的话也可以制作成定时执行任务,比如每个月执行一次。

参考资料: http://www.laozuo.org/7676.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: