zoukankan      html  css  js  c++  java
  • Let’s Encrypt https证书安装


    现在已经有很多的免费ssl证书提供商,国内的也有,

    不过国内政策要求还要把key给他们,

    我们还是用Let’s Encrypt吧。

    这里有官方中文文档 ->biubiubiu


    官方推荐的是使用Certbot ACME 客户端

    但是这里用的是acme.sh

    acme.sh是个开源的shell脚本,要更为轻量,对于我的破烂vps还是选择轻量点的吧。

    Acme.sh也有中文的简单教程,很详细:-(´▽`)-

    关于acme.sh

    Acme.sh会在每天 0:00 点自动检测所有的证书,需要更新时会自动更新

    acme所有东西都在~/.acme.sh/下面,不会对外造成影响


    安装acme.sh

    curl  https://get.acme.sh | sh
    

    可以设置别名,不然命令太长了alias acme.sh=~/.acme.sh/acme.sh


    生成证书

    可以自己设置

    acme.sh  --issue  -d mydomain.com -d www.mydomain.com  --webroot /home/wwwroot/mydomain.com/
    

    nginx/apache可以自动获取域名

    acme.sh --issue  -d mydomain.com   --apache
    acme.sh --issue  -d mydomain.com   --nginx
    

    使用nginx模式在安装过程中遇到错误

    [Mon Mar  2 15:42:33 UTC 2020] Can not find conf file for domain seyana.life
    [Mon Mar  2 15:42:33 UTC 2020] Please add '--debug' or '--log' to check more details.
    

    这是因为在nginx中,我配置server_name 为localhost

    server_name localhost
    

    acme.h是根据这个获取域名的,所以会出错,需要为绑定的域名

    设置好后重新运行就成功了。


    安装证书

    用提供的命令可以一次把证书和key复制到指定目录

    acme.sh --installcert -d www.xxxxx.come 
    --key-file       /root/ssl/key/key.pem  
    --fullchain-file /root/ssl/cert/cert.pem 
    --reloadcmd     "service nginx force-reload"
    

    不建议把证书留在~/.acme.sh/中,

    关于配置,不提供自动配置,需要自己配置

    下面是nginx的443配置例子

    server {
            listen  443 ssl;
            server_name     www.xxx.com  xxx.com;#域名
            ssl_certificate /root/ssl/cert/cert.pem;#证书路径
            ssl_certificate_key     /root/ssl/key/key.pem;#key路径
          	#...
          }
    


    之后可以用301永久重定向把http 的80端口也转发到443上

    rewrite  ^/(.*)$ https://www.****.com/$1 permanent; 
    

    这样即使用http访问也会跳转到https上,当然这样的转换方式仍然存在风险,可以开启HSTS固定访问https等措施,具体还是留到https优化里把。

    小锁锁get√


    其他acme.h2命令

    acme.sh --upgrade   #更新
    acme.sh --upgrade  --auto-upgrade     #开启自动更新
    acme.sh --upgrade  --auto-upgrade  0   #关闭自动更新
    

    更多更高级的用法在wiki上 wwwww

    我的博客: https://www.seyana.life/post/15

  • 相关阅读:
    HTML5(3) 拖放(Drag 和 Drop)
    HTML5(2) 画布Canvas
    HTML5(1) 介绍
    C#(99):System.IO.Path文件路径类
    SQL Server(00):逻辑函数
    SQL Server(00):删除表中的重复数据
    DevExpress03、XtraGrid(1)基本应用
    DevExpress11、TreeList
    DevExpress10、RichEditControl
    XtraEditors五、SpinEdit、TimeEdit
  • 原文地址:https://www.cnblogs.com/mckc/p/12448905.html
Copyright © 2011-2022 走看看