zoukankan      html  css  js  c++  java
  • Ubuntu16 nginx 配置 Let's Encrypt 免费ssl

    每篇一句

    Some of us get dipped in flat, some in satin, some in gloss. But every once in a while you find someone who's iridescent, and when you do, nothing will ever compare. --电影怦然心动

    Let's Encrypt 简介

    现在网站基本上都是https的了,否则就会提示不安全。如果要启用HTTPS(这里是使用免费的HTTPS),我们需要从证书授权机构获取一个证书,Let's Encrypt 就是这样的一个授权机构,我们可以从那儿获取免费的证书。

    Certbot 是Let's Encrypt推出的获取证书的客户端,可以让我们免费快速的获取Let's Encrypt的证书。

    写此文的原因是,在网上看了很多资料,真的写的很乱...试了还不成功,算了直接上官网看看,果然一次成功。这篇供大家参考思路,推荐上官网看教程,简单准确。
    在官网上选择 服务和系统 会自动有安装过程的。

    本机是 Ubuntu16+nginx,前置条件是你已经有了解析了的域名哈:)

    安装Certbot

    wget https://dl.eff.org/certbot-auto
    sudo mv certbot-auto /usr/local/bin/certbot-auto
    sudo chown root /usr/local/bin/certbot-auto
    sudo chmod 0755 /usr/local/bin/certbot-auto
    

    申请并在nginx 上安装证书

    sudo /usr/local/bin/certbot-auto --nginx
    

    别回车太快,看一下提示(写错了不能回删除,重新执行命令即可),
    中途需要填入你的域名信息(可以多个,都好或者空格隔开),
    选择80是否跳转到443(选择2)

    或者只申请证书

    sudo /usr/local/bin/certbot-auto certonly --nginx
    

    设置定时计划自动更新证书

    因为这个免费的证书有效期只有90天,所以我们需要自动去renew证书。

    echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto renew" | sudo tee -a /etc/crontab > /dev/null
    

    最后使用https连接你的网站确认下即可。
    tips
    如果你引用的资源有http的,那么会报错,导致引用的http资源不可用。

    https 已阻止载入混合活动内容
    

    如果你的http资源有对应的https资源那么

    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    

    可以在相应的页面的里加上这句代码,意思是自动将http的不安全请求升级为https

    参考

    官网

  • 相关阅读:
    Map集合的四种遍历
    java 请求 google translate
    Linux 内核初级管理
    Linux GRUB
    Linux 系统启动流程
    Linux 任务计划 crontab
    Linux 进程管理工具
    Linux sudo实作
    Linux 进程管理
    Linux 网络配置命令:ip、ss
  • 原文地址:https://www.cnblogs.com/Rightsec/p/11960579.html
Copyright © 2011-2022 走看看