<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Certbot on OpusMia</title><link>https://opusmia.com/tags/certbot/</link><description>Recent content in Certbot on OpusMia</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 14 Oct 2026 15:57:00 +0800</lastBuildDate><atom:link href="https://opusmia.com/tags/certbot/index.xml" rel="self" type="application/rss+xml"/><item><title>Let's Encrypt 免费证书申请：certbot 实操和自动续期</title><link>https://opusmia.com/posts/letsencrypt-certbot-guide/</link><pubDate>Wed, 14 Oct 2026 15:57:00 +0800</pubDate><guid>https://opusmia.com/posts/letsencrypt-certbot-guide/</guid><description>&lt;p&gt;申请 HTTPS 证书之前，我做了挺足的心理建设：当年听说这东西要生成 CSR、验证域名、每年手动续期，还要花钱买，感觉是地狱难度。结果 &lt;code&gt;certbot --nginx&lt;/code&gt; 一行命令，五分钟搞定，我坐在屏幕前有种&amp;quot;就这？&amp;ldquo;的空虚——比去 DMV 排队办 Real ID 顺利多了。&lt;/p&gt;
&lt;p&gt;这篇把我当时走的完整流程记下来，包括自动续期怎么验证。Let&amp;rsquo;s Encrypt 的证书免费，有效期 90 天，靠自动续期续命，设好之后基本不用管。&lt;/p&gt;
&lt;h2 id="动手前确认两件事"&gt;动手前确认两件事&lt;/h2&gt;
&lt;p&gt;第一，域名已经解析到我的 VPS，在 Cloudflare 那边是灰云状态（先别开小黄云代理，申请完再开——开了代理，certbot 的域名验证偶尔会抽风，我吃过这个亏）。&lt;/p&gt;
&lt;p&gt;第二，Nginx 正在跑，80 端口能正常访问。certbot 的 &lt;code&gt;--nginx&lt;/code&gt; 模式会往你的 Nginx 配置里自动加证书相关的段，所以 Nginx 必须是正常工作的状态。&lt;/p&gt;
&lt;h2 id="安装-certbot"&gt;安装 certbot&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install certbot python3-certbot-nginx -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;python3-certbot-nginx&lt;/code&gt; 是 Nginx 插件，让 certbot 能自动读写 Nginx 配置。装完不用配，直接用。&lt;/p&gt;
&lt;h2 id="一行命令申请证书"&gt;一行命令申请证书&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo certbot --nginx -d opusmia.com -d www.opusmia.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;把主域名和 www 一起写上，一张证书管两个，省得以后麻烦。运行后它会问几个问题：填邮箱（证书快过期或出问题时通知你，别乱填）、同意服务条款、要不要把 HTTP 自动跳转到 HTTPS（选 yes，省得自己写跳转）。&lt;/p&gt;
&lt;p&gt;几分钟后，看到 &amp;ldquo;Congratulations!&amp;rdquo; 就成了。certbot 已经自动干了三件事：下载证书、改 Nginx 配置加上 443 和证书路径、设置 80 跳 443。你可以看一眼它改的配置，确认一下：&lt;/p&gt;</description></item></channel></rss>