美文网首页
HTTPS+Let' s Encrypt+Nginx(格

HTTPS+Let' s Encrypt+Nginx(格

作者: 风清水遥 | 来源:发表于2017-04-13 22:40 被阅读326次

注意:本文主要是为了让服务器支持https协议。因为服务器默认支持http://www.xxx.com:80,本文主要介绍申请免费证书。

1.下面按照步骤来:全命令行模式

  • 1.支持需要,nginx 或者Apache2服务器等,证书机构,申请证书,最难的就是申请证书。
  • 2.可以通过openssl生成不受浏览器信任的证书,这里不做过多介绍

2.申请证书

3.使用官方git开源库自动创建的方法

//如果没有安装git  :
sudo apt-get update     //更新apt-get命令到最新
sudo apt-get install git    //自动安装git
1. 下载git仓库到本地

git clone https://github.com/certbot/certbot

详细介绍步骤在:https://certbot.eff.org/docs/contributing.html

2.切换到项目根目录下

cd certbot

3.启动自动系统更新依赖

./letsencrypt-auto-source/letsencrypt-auto —os-packages-only

4.执行脚本工具

./tools/venv.sh

5.添加执行动作快捷命令

source ./venv/bin/activate

6.启动自动申请流程

certbot

7.启动后,按照提示来操作
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: www.baidu.com
2: www.baidu1.com
3: www.baidu2.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input

blank to select all options shown (Enter 'c' to cancel):

坑:这里会自动查询默认(Apache)服务器配置的域名,比如上面百度的三个域名,由于我的服务器是nginx,所以会把Apache以前配置的旧域名搜搜过来,解决办法就是,改掉apachectl 配置的域名到正确,搜索出来就对了,还有通过https://github.com/certbot/certbot的介绍方式
./certbot-auto certonly --standalone --email admin@example.com -d example.com -d www.example.com -d other.example.net
当然还有其他方法,还有一个坑就是,必须先关闭服务器,因为,这个命令会占用校验80,443端口

8.选中你要申请的域名,就会等待生成,中间会问你一下,还有结果,我一次粘贴
Please choose whether HTTPS access is required or optional.
-------------------------------------------------------------------------------
1: Easy - Allow both HTTP and HTTPS access to these sites
2: Secure - Make all requests redirect to secure HTTPS access
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled https://www.baidu.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=www.baidu.com
-------------------------------------------------------------------------------
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at/etc/letsencrypt/live/www.baidu.com/fullchain.pem. 
Your cert  will expire on 2017-02-08. To obtain a new or tweaked version of  this certificate in the future, 
simply run certbot again with the  "certonly" option. 
To non-interactively renew *all* of your  certificates, run "certbot renew"

- If you like Certbot, please consider supporting our work by:

  Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate

  Donating to EFF:                    https://eff.org/donate-le

(venv)root@localhost:~/certbot#
9.如果上部出错,网络连接的话,看看用v-p-n,或者fan-qiang软件,应该是不需要的。如果连接域名问题,看看你的域名带不带www. 这个很关键,如果没有不带www的域名,申请时用的证书配置的域名与你网址域名不符合会失败的。
10.成功后的结果是,可以上证书评级 这个网站,输入你的域名,查看你申请域名的评级,一般为A以上,信任就很好了。如果评级过低,可以重新申请。
11.成功后会告诉你证书保存在/etc/letsencrypt/live/www.baidu.com下,下面配置进服务器配置文件就行。
12.这里只介绍nginx配置,apchectl自己搜索
server {

   ……………….

   listen              443 ssl;

   server_name         www.baidu.com;

   ssl_certificate     /etc/letsencrypt/live/www.baidu.com/cert.pem;

   ssl_certificate_key /etc/letsencrypt/live/www.baidu.com/privkey.pem;

   ……………………..

}

这里只写了要配置的证书cert.pem和privkey.pem,这个Server里面只有这些是不够的,其他省略的可以把配置文件上面http的配置粘贴过来。完成后保存,重启服务,OK!

13.打开网页惊喜出现,其他特殊的配置,重定向https,和强制https,可以自行搜索,网上很多
14.证书更新(默认申请的是3个月)

在cerbot 文件夹下执行
./letsencrypt-auto renew
如果报错,可以先直接执行第3步骤,类似于重新申请一样
./letsencrypt-auto-source/letsencrypt-auto

15.另外补充
//Ubuntu 启动nginx  ,下面不用多解释了吧
/etc/init.d/nginx start
nginx -s  reload
service nginx start
start  restar  stop
//服务器远程登录
ssh root@111.137.92.67

Like(喜欢)

相关文章

  • HTTPS+Let' s Encrypt+Nginx(格

    注意:本文主要是为了让服务器支持https协议。因为服务器默认支持http://www.xxx.com:80,本文...

  • life's too short not to live.

    is缩写&所有格 my sister's boyfriend 所有格 Linda's his sister is缩...

  • 英语的名词的格

    's所有格的构成 's所有格的构成's所有格只要表示有生命的名词的所属关系。通常用于姓名、人称、不定代词、集体名词...

  • 小学基础知识名词的格

    名词的格 1.有生命的东西的名词所有格: a.单数后加 ’s 如: Lucy’s ruler my father’...

  • 小升初必考知识点(3)

    名词所有格(……的……) 1.名词后+'s This is Tom's bag.(这是汤姆的书包。) 2.不以s结...

  • 名词所有格,双重所有格的区别.

    英语中一些所有格容易会有一些混淆,概念错误的. (1) 简单的开始首先: 's s' , 用于生物的所有格....

  • 英语语法

    名词所有格用法归纳 1. 名词的格的种类 英语名词的所有格表示所属关系,它分-‟s 所有格和of 所有格两种形式。...

  • 创造者的时间表,管理者的时间表

    这是一篇翻译保罗.格雷厄姆09年《Maker's Schedule, Manager's Schedule》的文章...

  • 【0224读书清单】爱情与金钱一

    01 She's at doctor's. 这里的doctor's是使用了名词所有格。当表示店铺或教堂名词或某人家...

  • tmux窗格管理

    tmux可以把一个窗口分割成多个窗格(pane),每个窗格运行不同的命令。 划分窗格#划分上下两个窗格tmux s...

网友评论

      本文标题:HTTPS+Let' s Encrypt+Nginx(格

      本文链接:https://www.haomeiwen.com/subject/aqeiattx.html