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

  • 相关阅读:
    flutter 网络请求以及数据处理
    flutter 布局 Expanded Stack Positioned
    异步|同步&阻塞|非阻塞
    Spring AOP 由浅入深
    Elasticsearch初探
    dubbo工作原理
    BeanFactory vs ApplicationContext
    Spring container vs SpringMVC container(webmvc container)
    Spring @Service生成bean名称的规则
    MySQL绿色版安装(mysql-5.7.12-win32)
  • 原文地址:https://www.cnblogs.com/mckc/p/12448905.html
Copyright © 2011-2022 走看看