nginx 配置lets Encrypt永久免费SSL证书过程教程

云服务商:阿里云 
服务器:针对Nginx服务器; 
假设域名:example.com www.example.com 
假设IP:137.137.137.137

1,先安装nginx服务器

sudo apt-get install nginx
sudo service nginx start

2,安装letsencrypt

sudo apt-get install letsencrypt

3,签发证书

很简单,直接运行letsencrypt命令即可sudo letsencrypt certonly --webroot -w /var/www/html -d example.com -d www.example.com

4,git clone项目

首先安装git 和bc ,并从github上将代码克隆到本地

sudo git clone https://github.com/certbot/certbot /opt/certbot-master

5,安装依赖   ---这里指的是centeros

sudo /opt/certbot-master/letsencrypt-auto --help –standalone –email 邮箱地址(邮箱地址是用来接收紧急通知和找回密钥的) –d 域名

中间会出现界面验证你的邮箱地址是否有效 
命令完成后,最新版本的证书位置:/etc/letsencrypt/live/域名

cert.pem 申请的服务器证书文件 
privkey.pem 服务器证书对应的私钥 
chain.pem 除服务器证书外,浏览器解析所需的其他全部证书,比如根证书和中间证书 
fullchain.pem 包含服务器证书的全部证书链文件

配置nginx,需要生成dhparam.pem文件

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

6,在nginx里面配置

一般情况下只需要privkey.pem和fullchain.pem这两个就够了

server {
        listen 443 ssl;
        server_name 域名;
        ssl_certificate /etc/letsencrypt/live/域名/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/域名/privkey.pem;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
        ssl_ciphers ‘ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA‘;
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_stapling on;
        ssl_stapling_verify on;
        add_header Strict-Transport-Security max-age=15768000;
        # The rest of your server block
        root /path/to/root;
        index index.html index.htm;
        location / {
                try_files $uri $uri/ =404;
        }
}

7,配置完成后

配置完成后重启nginx 
在谷歌浏览器中输入域名,谷歌浏览器查看详情

或者通过此网址查询:https://www.ssllabs.com/ssltest/analyze.html?d=域名

8,自动续期

自动续期问题:(注意关闭nginx)输入
./letsencrypt-auto renew 手动续期会发现提示还未到期,无法续期 

强制更新续期

./letsencrypt-auto renew --force-renewal

这样的话就显示续期成功 
可以写一个脚本,创建个定时任务,定期自动续期。

原文地址:https://www.cnblogs.com/52forjie/p/9996894.html

时间: 2024-10-03 06:00:37

nginx 配置lets Encrypt永久免费SSL证书过程教程的相关文章

centos 下安装 Let’s Encrypt 永久免费 SSL 证书

功能 https证书,免费版,每三个月续签一次,可以用过脚本自动续签 安装 ssh登录到域名配置所在的主机(nginx,apache等) 安装git yum -y install git 输入 git clone https://github.com/letsencrypt/letsencrypt cd letsencrypt chmod +x letsencrypt-auto 安装证书: ./letsencrypt-auto certonly --email [email protected]

使用 Let's Encrypt 签发免费SSL 证书

Let's Encrypt 是新出现的证书颁发机构,他是开源并且自动化的. 官方首页:https://letsencrypt.org/ 项目代码:https://github.com/certbot/certbot 有关此项目的详细信息,请到官方了解.这里说说Let's Encrypt client 的事情. 安装: 可使用git 克隆项目,亦可wget 下载项目 下载 git clone https://github.com/letsencrypt/letsencrypt 安装,并显示帮助信息

【转】IIS - 自动申请、部署Let's Encrypt的免费SSL证书

IIS - 自动申请.部署Let's Encrypt的免费SSL证书(让网站实现HTTPS协议) 2017-12-19发布:hangge阅读:161 一.HTTPS 协议介绍 1,什么是 HTTPS 协议? HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的 HTTP 通道,即 HTTP 的安全版. 简单来说 HTTPS 就是在 HTTP 上面加了一层 SSL 协议.我们可以在 HTTP 站点上部署 S

给Nginx配置一个自签名的SSL证书

要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择.HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上. SSL使用证书来创建安全连接.有两种验证模式: 仅客户端验证服务器的证书,客户端自己不提供证书: 客户端和服务器都互相验证对方的证书. 显然第二种方式安全性更高,一般用网上银行会这么搞,但是,普通的Web网站只能采用第一种方式. 客户端如何验证服务器的证书呢?服务器自己的证书必须经过某“权威”证书的签名,而这个“权威”证书又可能经过更权威的

【转】七牛免费SSL证书,配置自定义域名CDN加速

原文链接:https://excaliburhan.com/post/use-qiniu-ssl-and-cdn.html 申请七牛SSL证书 其实,七牛在很早之前就支持CDN使用https,但是他要求证书的有效期是一年及以上,而我的主站用了Let's Encrypt的免费SSL证书,有效期90天,自动续签的形式.所以,为了使CDN的图片也是https的,一直采用了七牛默认的xxx.qnssl.com域名. 在11月,七牛发布了免费SSL证书,亚洲诚信的DV证书.申请起来也很简单,参见七牛SSL

nginx安装Lets Encrypt SSL免费HTTPS加密证书

Linux Nginx网站:Certbot安装配置Lets Encrypt SSL免费HTTPS加密证书 原文地址:https://renwole.com/archives/157 实验环境:CentOS Linux release 7.2内核版本:Linux version 3.10.0-514.26.2.el7.x86_64Nginx版本: Nginx-1.13.0 Let's Encrypt是一个免费的.自动化.开放的证书颁发机构.由Mozilla.Cisco.Chrome.faceboo

nginx配置免费ssl证书支持https安全访问

1.自行颁发不受浏览器信任的SSL证书: HTTPS的SSL证书可以自行颁发,Linux下的颁发步骤如下: openssl genrsa -des3 -out www.aaa.com.key 1024 openssl req -new -key www.aaa.com.key -out www.aaa.com.csr openssl rsa -in www.aaa.com.key -out www.aaa.com_nopass.key Nginx.conf的SSL证书配置,使用www.aaa.c

[从零开始搭网站六]为域名申请免费SSL证书(https),并为Tomcat配置https域名所用的多SSL证书

点击下面连接查看从零开始搭网站全系列 从零开始搭网站 由于国内的网络环境比较恶劣,运营商流量劫持的情况比较严重,一般表现为别人打开你的网站的时候会弹一些莫名其妙的广告...更过分的会跳转至别的网站. 那么为了解决这种情况,那么我们就要申请SSL证书,并且配置服务器. 并且,我准备再学习并写一个微信小程序,而微信小程序所有接口都需要走https,那么全线https就势在必行. 目前免费https其实有很多家,我之前出过一个教程是 用Let's Encrypt实现Https(Windows环境+To

let's encrypt生成免费https证书 ubuntu+tomcat+nginx+let's encrypt

1. 下载let's encrypt $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update $ sudo apt-get install certbot 2. 生成密钥,调用之前需要停止nginx certbot certonly --standalone -d www.域名1.com -d www.域名2.com 生成成功,提示如下 IMPORTANT NOTES: - Congratulations! Your