美文网首页学ubuntu我用 LinuxLinux
lets encrypt + ubuntu + nginx+ 全

lets encrypt + ubuntu + nginx+ 全

作者: 老胡聊聊天 | 来源:发表于2018-03-27 12:53 被阅读16次

    全站https以前貌似听起来还挺唬人的,时至今日,已经简单到无脑,只需几个简单的命令就搞定了。follow me,搞一下。

    1. 安装certbot

    sudo apt install software-properties-common
    sudo add-apt-repository ppa:certbot/certbot
    sudo apt update
    sudo apt install certbot python-certbot-nginx
    certbot --version
    

    2. 获取证书

    #使用默认选项获取证书,注意把域名和email换成自己的
    #建议新手使用
    sudo certbot --nginx --agree-tos --redirect --uir --hsts --staple-ocsp --must-staple -d www.example.com,example.com --email your-email-address
    

    或者自定义配置,跟上面的命令二选一,稍微能看懂英文就ok

    sudo certbot
    

    这步骤完成后会提示你两个pem的路径,记住他们

    3. 修改nginx配置——这一步certbot通常可以帮我们自动完成,如果没有搞定,就自己搞一下

    1)listener 80改为listen 443
    2)server节点中添加下面这一对ssl的配置
    这里需要修改称自己的信息

    ssl on;
    ssl_certificate XXX/fullchain.pem; # 修改为fullchain.pem所在的路径
    ssl_certificate_key XXX/privkey.pem; # 修改为privkey.pem所在的路径
    ssl_session_timeout 5m;
    ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    

    3)添加一个server,把http的访问跳转到https
    这里需要修改称自己的信息

    server {
        listen 80;
        server_name example.com; #这里修改为网站域名
        rewrite ^(.*)$ https://$host$1 permanent; #这行不用改
    }
    

    4)重启nginx

    service nginx restart
    

    4. 测评

    到这里,如果以上都顺利,就可以通过https访问网站了
    打开这个网站,输入你的网址测评
    https://www.ssllabs.com/ssltest/analyze.html
    我的得到了一个A
    以后有需要再研究如何获得A+

    5. 参考资料:

    https://www.linuxidc.com/Linux/2017-12/149936.htm
    https://blog.csdn.net/xs18952904/article/details/79262646
    http://www.ctohome.com/FuWuQi/10/766.html
    https://www.ssllabs.com/ssltest/analyze.html

    相关文章

      网友评论

        本文标题:lets encrypt + ubuntu + nginx+ 全

        本文链接:https://www.haomeiwen.com/subject/qmgjcftx.html