e2c博客刚架上,准备把SSL加上去,这样https就能在浏览器里看到小锁了,美滋滋啊。

1.获取certbot-auto

    wget https://dl.eff.org/certbot-auto
    chmod a+x certbot-auto

2.开始申请证书

    ./certbot-auto --server https://acme-v02.api.letsencrypt.org/directory -d '*.e2c.net' -d 'e2c.net' --manual --preferred-challenges dns-01 certonly

注:请根据需要修改域名

3.按照提示向DNS解释记录添加TXT记录

4.nginx中添加相应设置

    server {
                server_name www.e2c.net e2c.net;
                listen 443 http2 ssl;
                ssl on;
                root /home/www/blog/;
                index index.html index.htm index.php;
                ssl_certificate /etc/letsencrypt/live/e2c.net/fullchain.pem;
                ssl_certificate_key /etc/letsencrypt/live/e2c.net/privkey.pem;
                if (!-e $request_filename) {
                        rewrite ^(.*)$ /index.php$1 last;
                }
                location ~ .*\.php(\/.*)*$ {
                        include fastcgi.conf;
                        fastcgi_pass 127.0.0.1:9000;
                }
        }

Let’s Encrypt提供了3类验证(Challenge)方式,用于颁发证书:

  • HTTP-01:通过HTTP访问服务器80端口的.well-known/acme-challenge验证。
  • DNS-01:在DNS中添加_acme-challenge开头的TXT记录,这种方式因为能签发通配符证书(Wildcard)而被大范围使用。
  • TLS-SNI-01(已停止使用)、TLS-ALPN-01:通过TLS的方式对443端口访问进行验证。

DNS-01和HTTP-01能在极少改动服务器配置的情况下,完成验证。然而,对应某些特殊环境下,80端口难以开放或DNS记录难以更改,只能通过443端口验证。

附上官方安装教程:
https://certbot.eff.org/lets-encrypt/centosrhel7-nginx

最后编辑:2019年05月15日 ©著作权归作者所有

发表评论

正在加载 Emoji