参考页面:

https://certbot.eff.org/#ubuntutrusty-nginx

http://bbs.qcloud.com/thread-12059-1-1.html

http://www.cnblogs.com/yanghuahui/archive/2012/06/25/2561568.html

http://www.jb51.net/os/Ubuntu/323696.html

1. 下载let's encrypt

  1. $ sudo add-apt-repository ppa:certbot/certbot
  2. $ sudo apt-get update
  3. $ sudo apt-get install certbot

  无法找到add-apt-repository时,需要

  1. apt-get install python-software-properties
    apt-get install software-properties-common

2. 生成密钥

  1. certbot certonly --standalone -d example.com -d www.example.com

执行成功会显示如下内容:

  1. IMPORTANT NOTES:
  2. - Congratulations! Your certificate and chain have been saved at
  3. /etc/letsencrypt/live/【这里是你的域名】/fullchain.pem. Your cert will
  4. expire on 【这里是到期时间】. To obtain a new or tweaked version of this
  5. certificate in the future, simply run certbot-auto again. To
  6. non-interactively renew *all* of your certificates, run
  7. "certbot-auto renew"
  8. - If you like Certbot, please consider supporting our work by:
  9.  
  10. Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
  11. Donating to EFF: https://eff.org/donate-le

  红色内容在下一步会被使用。

3. 配置nginx

  1. listen 443 ssl;
  2. ssl_certificate /etc/letsencrypt/live/【这里是你的域名】/fullchain.pem;
  3. ssl_certificate_key /etc/letsencrypt/live/【这里是你的域名】/privkey.pem;
  4. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  5. ssl_prefer_server_ciphers on;
  6. ssl_ciphers AES256+EECDH:AES256+EDH:!aNULL;
  7. listen [::]:443 ssl ipv6only=on;

  请注意这里的两个红色路径所对应的文件不相同。

4. 重启nginx

  1. nginx -s reload

  这时通过https访问网站,访问成功。

  通过http访问网站,失败。错误:ERR_CONNECTION_REFUSED

5. 重定向http访问到https

  1. server {
  2. listen 80;
  3. server_name 【这里是你的域名】;
  4. rewrite ^(.*) https://$server_name$1 permanent;
  5. }

  再次访问http,成功。  

至此,配置完成。如下图

* let's encrypt 只有90天的期限,续期使用如下代码:

  1. certbot renew --dry-run
    certbot renew

  此操作前,请先关闭nginx

  1. nginx -s stop

 重启nginx,可能会遇到 [error] open() "/run/nginx.pid" failed (2: No such file or directory) 这样的问题,解决方法如下(参考自:http://blog.csdn.net/llnara/article/details/8691049):

  1. nginx -c /etc/nginx/nginx.conf

欢迎访问我的网站:https://maomishen.com/

阿里云Ubuntu 14.04 + Nginx + let's encrypt 搭建https访问的更多相关文章

  1. 阿里云Ubuntu 14.04 + Nginx + .net core + MySql

    前段时间帮朋友写了一个网站,现在做一个记录. .Net Core 安装: curl https://packages.microsoft.com/keys/microsoft.asc | gpg -- ...

  2. 在阿里云Ubuntu 14.04 Linux服务器上安装docker

    参考 How To Install and Use Docker: Getting Started 这篇最靠谱的文档在阿里云 Ubuntu  14.04 服务器上成功安装 docker . ---- ...

  3. 阿里云 ubuntu 14.04 模板上安装 docker

    ubuntu 14.04 的内核是 3.13 ,所以内核不用升级. 安装过程例如以下: # apt-get update # apt-get install apt-transport-https # ...

  4. 阿里云 Ubuntu 14.04 安装mysql 5.6

    1. 升级apt-get apt-get update 如果出现 : 说明没有你不是root用户,则需要用sudo命令 sudo apt-get update 下面出现权限问题都可以参照这个方法. 2 ...

  5. 在阿里云Ubuntu 14.04.5 LTS下安装nethogs0.8.5

    由于默认安装的nethogs不能使用,提示:Creating socket failed while establishing local IP - are you root? 搜索资料后检查当前版本 ...

  6. Nginx模块之————RTMP模块在Ubuntu 14.04年的设置与搭建

    Nginx的设置,RTMP在Ubuntu 14.04 https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04

  7. 阿里云ubuntu 16.04 搭建pptpd 第二版

    前言:1.我常用的服务器在国内,但我又有某方面的需求,所以想要搭建一个pptpd的服务器    2.但我又不常用,所以感觉阿里云包年包月的不划算,所以准备采用阿里云按量付费的实例来搭建pptpd,并形 ...

  8. Ubuntu 14.04.5 imx6 开发环境搭建

    1,下载VMware Workstation虚拟机 地址:http://1.xp510.com:801/xp2011/VMware10.7z 2,下载Ubuntu 14.04.5 LTS 32位Ubu ...

  9. Laravel项目部署上线(阿里云 Ubuntu 16.04)

    第一次尝试把本地的项目上线,   购买了某云的轻量应用服务器, 镜像为Ubuntu 16.04  直接运行 apt-get install nginx 出错   根据提示运行 apt-get upda ...

随机推荐

  1. ADO.NET知识汇总

    这又是一篇记录平常工作笔记的博客,无论是在排版还是解说上都不会有太多要求.同时这也是一篇不上博客园首页的博客,Just记录一些工作笔记. vSelect返回单个值 string connSQL = @ ...

  2. 烂泥:NFS做存储与KVM集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 以前有关NFS的文章,我们介绍的都是NFS的使用挂载等等.这篇文章我们介绍有关NFS作为存储使用. 既然本篇文章的主题是有关NFS的,我们还是先把NFS ...

  3. x01.os.14: 时间都去哪儿了

    时间都去哪儿了 老帕的“花儿为什么这样红”,三分钟引起六次欢呼,却败给了张碧晨.试想一下,如果是人气更高的陈冰,即使唱得和张碧晨一模一样,可能仍然不敌老帕,为什么张碧晨就能取胜呢?有这么个笑话:一人弹 ...

  4. linux面试题

    一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取uu要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 ...

  5. ELF Format 笔记(二)—— ELF Header

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 以 32 位的 ELF header 数据结构为例: #define EI_NIDENT 16 typede ...

  6. ajax使用serialize()序列化提交

    form 表单使用.serialize()序列化后会出现中文乱码的问题 原因: .serialize()自动调用了encodeURIComponent方法将数据编码了 解决方法: 调用decodeUR ...

  7. SpringMVC从入门到精通之第四章

    第一个知识点:@Controller注解,用于标识这个类是一个后端控制器(类似struts中的action),主要作用就是接受页面的参数,转发页面.中间的业务逻辑是调用业务类处理的这个就是MVC设计模 ...

  8. 怎样运用好ZBrush中的布尔运算

     我们知道DynaMesh常用于基础模型的起稿到中模的制作,它是ZBrush ® 4R2新增的功能,其强大的功能除了对模型进行重新布线,还可以进行布尔运算.配合Insert笔刷进行布尔运算,可以做出Z ...

  9. Docker的单主机容器网络

    作者:杨冬 欢迎转载,也请保留这段声明.谢谢! 出处: https://andyyoung01.github.io/ 或 http://andyyoung01.16mb.com/ 本篇文章主要探索Do ...

  10. SQL 2008 windows登录失败,错误18456, 更正

    可能的原因:密码有效性验证失败.该密码太短,不符合 Windows 策略要求. 本地设置可能被域设置覆盖.而域设置中指定了安全策略,密码必须有一定的复杂性.重新更改sa密码. 第一步.以windows ...