<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Welcome to Linonet on Linonet</title><link>https://linonet.579759.xyz/zh-cn/</link><description>Recent content in Welcome to Linonet on Linonet</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Sat, 10 Oct 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://linonet.579759.xyz/zh-cn/index.xml" rel="self" type="application/rss+xml"/><item><title>NAT VPS 域名证书申请指南：绕过 80/443 端口限制的 DNS 验证终极方案</title><link>https://linonet.579759.xyz/zh-cn/post/nat-vps-ssl-certificate/</link><pubDate>Sat, 10 Oct 2026 00:00:00 +0000</pubDate><guid>https://linonet.579759.xyz/zh-cn/post/nat-vps-ssl-certificate/</guid><description>&lt;h2 id="前言"&gt;前言&#13;&#10;&lt;/h2&gt;&lt;p&gt;玩过 VPS 的朋友都知道，很多性价比极高的 NAT 小鸡（NAT VPS）虽然价格便宜、线路优秀，但它最大的痛点在于&lt;strong&gt;没有独立的公网 IP&lt;/strong&gt;，更&lt;strong&gt;没有 80 和 443 端口&lt;/strong&gt;的完整权限。&lt;/p&gt;&#10;&lt;p&gt;如果你想在 NAT 机子上部署一个安全的网站或者服务，传统的 SSL 证书申请方法（如基于 HTTP-01 验证的 &lt;code&gt;acme.sh&lt;/code&gt; 配合 Nginx）往往会直接卡死在 80 端口被占用的报错上。&lt;/p&gt;&#10;&lt;p&gt;今天这篇文章，我就带大家从头开始：从 &lt;strong&gt;VPS 购买&lt;/strong&gt;、&lt;strong&gt;域名购买&lt;/strong&gt;，到如何利用 &lt;strong&gt;&lt;code&gt;acme.sh&lt;/code&gt; 的 DNS 验证模式&lt;/strong&gt; 完美绕过 80/443 端口限制，轻松搞定 HTTPS 证书！&lt;/p&gt;&#10;&lt;h2 id="一-基础准备vps-与域名购买"&gt;一、 基础准备：VPS 与域名购买&#13;&#10;&lt;/h2&gt;&lt;p&gt;在开始配置之前，我们需要准备好两样东西：一台 NAT VPS 和一个属于你自己的顶级域名。&lt;/p&gt;&#10;&lt;h3 id="11-vps-购买与注意事项"&gt;1.1 VPS 购买与注意事项&#13;&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;选择建议&lt;/strong&gt;：购买 NAT VPS 时，注意查看商家提供的端口映射规则。通常商家会分配给你几个特定的外部端口用于 SSH 连接。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;系统环境&lt;/strong&gt;：推荐安装干净的 Debian 11/12 或 Ubuntu 22.04 系统。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h3 id="12-域名购买与-dns-解析托管"&gt;1.2 域名购买与 DNS 解析托管&#13;&#10;&lt;/h3&gt;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;购买平台&lt;/strong&gt;：你可以选择 Namesilo、Porkbun、Cloudflare 或国内的腾讯云/阿里云购买便宜的域名。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;关键步骤&lt;/strong&gt;：为了方便后续使用 API 自动完成 DNS 验证，&lt;strong&gt;强烈建议将域名的 DNS 解析托管到 Cloudflare&lt;/strong&gt;（免费且支持强大的 API 管理）。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="二-痛点解析为什么传统-http-验证在-nat-机上行不通"&gt;二、 痛点解析：为什么传统 HTTP 验证在 NAT 机上行不通？&#13;&#10;&lt;/h2&gt;&lt;p&gt;在深入教程前，我们先看一眼痛点：&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;传统方式（HTTP-01）&lt;/strong&gt;：CA 机构（如 Let&amp;rsquo;s Encrypt）会向你的服务器发送一个 HTTP 请求，必须通过你服务器的 &lt;strong&gt;80 端口&lt;/strong&gt; 来验证域名归属。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;NAT 机的困境&lt;/strong&gt;：NAT VPS 的 80/443 端口通常被母机占用，或者根本不对外开放。因此，配置 Nginx 监听 80 端口去跑验证这条路在 NAT 机上直接被堵死了。&lt;/p&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="三-核心绝招使用-acmesh-的-dns-验证完美破局"&gt;三、 核心绝招：使用 acme.sh 的 DNS 验证完美破局&#13;&#10;&lt;/h2&gt;&lt;p&gt;既然我们无法通过端口让外界访问我们的服务器，那能不能“证明”这个域名归我们所有呢？&lt;strong&gt;可以！通过在域名的 DNS 服务商那里添加一条 TXT 解析记录来证明。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;为了避免每次手动去后台加记录的繁琐，我们使用 &lt;code&gt;acme.sh&lt;/code&gt; 脚本配合 Cloudflare 的 &lt;strong&gt;API Key&lt;/strong&gt; 实现全自动 DNS 验证。&lt;/p&gt;&#10;&lt;h3 id="31-在-nat-机上安装-acmesh"&gt;3.1 在 NAT 机上安装 acme.sh&#13;&#10;&lt;/h3&gt;&lt;p&gt;登录你的 NAT VPS，依次执行以下命令安装 acme.sh（请将邮箱替换为你自己的）：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;# 安装 acme.sh&#13;&#10;curl https://get.acme.sh | sh -s email=your_email@example.com&#13;&#10;&#13;&#10;# 让环境变量生效&#13;&#10;source ~/.bashrc&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="32-配置-cloudflare-api-密钥"&gt;3.2 配置 Cloudflare API 密钥&#13;&#10;&lt;/h3&gt;&lt;p&gt;登录你的 Cloudflare 账号，在个人资料页面生成一个具有 &lt;strong&gt;Zone DNS (编辑)&lt;/strong&gt; 权限的 API Token。&lt;/p&gt;&#10;&lt;p&gt;在终端中将 Token 和账号信息写入环境变量：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;export CF_Token=&amp;#34;你的Cloudflare_API_Token&amp;#34;&#13;&#10;export CF_Account_ID=&amp;#34;你的Cloudflare_Account_ID&amp;#34;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="33-申请并签发证书避开-80-端口的魔法时刻"&gt;3.3 申请并签发证书（避开 80 端口的魔法时刻）&#13;&#10;&lt;/h3&gt;&lt;p&gt;万事俱备，现在我们可以直接通过 DNS 模式申请证书了，全程不需要开启任何 Nginx，也不需要占用 80 端口：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;acme.sh --issue --dns dns_cf -d yourdomain.com -d *.yourdomain.com&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;em&gt;执行后，&lt;code&gt;acme.sh&lt;/code&gt; 会自动通过 Cloudflare API 临时添加一个 TXT 解析，验证通过后会自动删除，安全又优雅！&lt;/em&gt;&lt;/p&gt;&#10;&lt;h2 id="四-安装证书到指定目录"&gt;四、 安装证书到指定目录&#13;&#10;&lt;/h2&gt;&lt;p&gt;证书签发成功后，我们需要将其安装到你项目或反向代理（如 Nginx、Caddy、Xray 等）能够读取的目录中：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;acme.sh --install-cert -d yourdomain.com \&#13;&#10;--key-file /root/cert/yourdomain.key \&#13;&#10;--fullchain-file /root/cert/yourdomain.cer \&#13;&#10;--reloadcmd &amp;#34;echo &amp;#39;Certificate updated successfully!&amp;#39;&amp;#34;&#10;&lt;/code&gt;&lt;/pre&gt;&lt;h2 id="总结"&gt;总结&#13;&#10;&lt;/h2&gt;&lt;p&gt;通过 &lt;strong&gt;&lt;code&gt;acme.sh&lt;/code&gt; 的 DNS 验证模式&lt;/strong&gt;，我们完美绕过了 NAT VPS 没有公网 IP、没有 80/443 端口权限的致命缺陷。不仅如此，&lt;code&gt;acme.sh&lt;/code&gt; 还自带了自动续期功能，一劳永逸。&lt;/p&gt;&#10;&lt;p&gt;希望这篇教程能帮各位 NAT 玩家顺利搭好自己的服务！如果你在配置过程中遇到问题，欢迎在评论区留言交流。&lt;/p&gt;&#10;</description></item></channel></rss>