黑马程序员技术交流社区

标题: 【上海校区】教你快速撸一个免费HTTPS证书 [打印本页]

作者: 摩西摩西OvO    时间: 2018-7-25 16:22
标题: 【上海校区】教你快速撸一个免费HTTPS证书
摘要: 最受欢迎的免费HTTPS证书,了解一下?

HTTPS已成为业界标准,这篇博客将教你申请Let's Encrypt的免费HTTPS证书。
本文的操作是在Ubuntu 16.04下进行,使用nginx作为Web服务器。
1. 安装CertbotCertbot可以用于管理(申请、更新、配置、撤销和删除等)Let's Encrypt证书。这里安装的是带nginx插件的certbot:
sudo apt-get updatesudo apt-get install software-properties-commonsudo add-apt-repository -y ppa:certbot/certbotsudo apt-get updatesudo apt-get install -y python-certbot-nginx
2. 配置Nginxvim /etc/nginx/conf.d/fundebug.conf
此时还没有HTTPS证书,因此域名只能使用80端口而非443端口,网站只能通过http协议而非https协议访问:www.fundebug.com
server{    listen 80;    server_name www.fundebug.com;}
重启nginx:
systemctl restart nginx
3. 配置DNS使域名www.fundebug.com指向nginx所在服务器的IP:


如果你想发现代码中隐藏的BUG,欢迎免费试用最专业的BUG实时监控平台Fundebug!
4. 申请证书使用certbot命令为www.fundebug.com申请HTTPS证书。--nginx选项表示Web服务器为nginx,-d选项指定域名,-n选项表示非交互式运行命令。若去除**-n**选项,则终端会提醒你选择是否将http请求重定向为https请求。
certbot --nginx -d www.fundebug.com -n
证书申请成功之后,会看到以下信息。Let's Encrypt证书的有效期只有3个月,但是Certbot会通过Cron和systemd timer自动更新证书,证书的时效性不用担心。
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at:   /etc/letsencrypt/live/www.fundebug.com/fullchain.pem   Your key file has been saved at:   /etc/letsencrypt/live/www.fundebug.com/privkey.pem   Your cert will expire on 2018-09-29. To obtain a new or tweaked   version of this certificate in the future, simply run certbot again   with the "certonly" option. To non-interactively renew *all* of   your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by:   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate   Donating to EFF:                    https://eff.org/donate-le
HTTPS证书相关的文件在**/etc/letsencrypt/**目录中:
find /etc/letsencrypt/ -name "*www.fundebug.com*"/etc/letsencrypt/renewal/www.fundebug.com.conf/etc/letsencrypt/archive/www.fundebug.com/etc/letsencrypt/live/www.fundebug.com
certbot会自动修改nginx配置文件:
cat /etc/nginx/conf.d/fundebug.conf
nginx监听了443端口并配置了HTTPS证书,这时我们可以通过HTTPS协议访问了!www.fundebug.com
server{    listen 80;    server_name www.fundebug.com;    listen 443 ssl; # managed by Certbot    ssl_certificate /etc/letsencrypt/live/www.fundebug.com/fullchain.pem; # managed by Certbot    ssl_certificate_key /etc/letsencrypt/live/www.fundebug.com/privkey.pem; # managed by Certbot    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot}
参考关于FundebugFundebug专注于JavaScript、微信小程序、微信小游戏,Node.js和Java实时BUG监控。自从2016年双十一正式上线,Fundebug累计处理了5亿+错误事件,得到了众多知名用户的认可。欢迎免费试用!





作者: 摩西摩西OvO    时间: 2018-7-26 10:22

作者: 不二晨    时间: 2018-7-26 11:37
奈斯,很赞
作者: wuqiong    时间: 2018-7-26 11:41

作者: 吴琼老师    时间: 2018-7-26 16:23





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2