[{"data":1,"prerenderedAt":1789},["ShallowReactive",2],{"article-\u002Fblog\u002F10-技术专栏\u002F20-network\u002F03.如何玩公网，怎么远程访问（二）":3,"article-around-\u002Fblog\u002F10-技术专栏\u002F20-network\u002F03.如何玩公网，怎么远程访问（二）":1571},{"id":4,"title":5,"author":6,"body":7,"category":1556,"cover":1557,"date":1558,"description":1559,"draft":1560,"extension":1561,"image":1562,"license":1557,"meta":1563,"minutes":602,"navigation":617,"path":1565,"pinned":1560,"seo":1566,"stem":1567,"tags":1568,"__hash__":1570},"blog\u002Fblog\u002F10-技术专栏\u002F20-network\u002F03.如何玩公网，怎么远程访问（二）.md","如何玩公网，怎么远程访问（二）","张萌萌",{"type":8,"value":9,"toc":1517},"minimark",[10,15,20,24,28,90,93,97,101,120,124,193,197,242,246,263,265,269,273,314,318,348,352,376,378,382,409,413,439,443,454,458,482,486,510,514,535,539,542,544,548,551,555,565,1154,1161,1165,1175,1179,1194,1198,1211,1213,1217,1223,1227,1235,1385,1392,1396,1419,1423,1439,1443,1471,1475,1501,1503,1507,1513],[11,12,14],"h2",{"id":13},"_1-序言","1 序言",[16,17,19],"h3",{"id":18},"_11-回顾上一篇文章","1.1 回顾上一篇文章",[21,22,23],"p",{},"经过上一篇文章，我们得到了域名以及域名的 token，也确定了我们是否有公网 IP。那么本篇内容就是利用这些东西，怎么在一些解析平台解析域名。但是实际不同场景我会放到第三篇文章介绍。",[16,25,27],{"id":26},"_12-举例说明","1.2 举例说明",[29,30,31,39,48,54,61,67,76,87],"ul",{},[32,33,34,35],"li",{},"比如你域名是在阿里云注册的，域名为：",[36,37,38],"strong",{},"ceshi.cn",[32,40,41,42,45,46],{},"AccessKey ID为：",[36,43,44],{},"ceshi","，AccessKey Secret：",[36,47,44],{},[32,49,50,51],{},"以及我们的公网IPv4为：",[36,52,53],{},"116.133.130.136",[32,55,56,57,60],{},"IPv6为：",[36,58,59],{},"2408:336c:6222:cbb:c5da:d808:f035:9e38","。",[32,62,63,64,66],{},"我们注册的域名为：",[36,65,38],{},"，",[32,68,69,70,72,73,66],{},"那么主域名是：",[36,71,38],{}," 或者 ",[36,74,75],{},"@.ceshi.cn",[32,77,78,79,82,83,86],{},"泛域名是：",[36,80,81],{},"*.ceshi.cn","，二级域名就是：",[36,84,85],{},"erji.ceshi.cn","。意思就是主域名前面这个前缀是可以自己自定义的。",[32,88,89],{},"以上信息都是我乱写的，为了后面教程，你对应自己获取的就好。",[91,92],"hr",{},[11,94,96],{"id":95},"_2-如果使用爱快","2. 如果使用爱快",[16,98,100],{"id":99},"_21-爱快动态域名","2.1 爱快动态域名",[21,102,103,104,107,108,66,111,114,115],{},"爱快动态域名怎么打开？首先",[36,105,106],{},"打开爱快","页面，",[36,109,110],{},"高级应用",[36,112,113],{},"动态域名","，点击添加就得到如图所示界面。\n",[116,117],"img",{"alt":118,"src":119},"","https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574173772.avif",[16,121,123],{"id":122},"_22-爱快动态域名配置","2.2 爱快动态域名配置",[29,125,126,137,140,146,178,187],{},[32,127,128,129,132,133,136],{},"爱快动态域名服务商有好几个，但是常用的只有腾讯云域名：",[36,130,131],{},"dnspod.cn","，阿里云域名：",[36,134,135],{},"aliyun.com","，以及托管到 **Cloudflare.com **的域名。",[32,138,139],{},"这次我们就按照阿里云域名注册信息填写配置内容。",[32,141,142,143],{},"首先，我们要去阿里云云解析 DNS，添加以下 DNS 记录，如下图所示。\n",[116,144],{"alt":118,"src":145},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574313467.avif",[32,147,148,149,152,153,156,157,152,160,163,164,167,168,171,172,174,175,177],{},"记录类型 ",[36,150,151],{},"A"," 代表是公网 ",[36,154,155],{},"IPv4","，记录类型 ",[36,158,159],{},"AAAA",[36,161,162],{},"IPv6","，主机记录这里就是域名，你填写 ***** 就是泛域名，可以是任何值，你填写",[36,165,166],{},"ik","，那么你的二级域名就是：",[36,169,170],{},"ik.ceshi.cn","，记录值就根据你选择是 ",[36,173,155],{}," 还是 ",[36,176,162],{}," 填写。",[32,179,180,181,183,184,186],{},"假如我们输入的记录类型 A，公网 IPv4 为：",[36,182,53],{},"，二级域名为：",[36,185,170],{},"，右下角确定，等上几分钟解析。",[32,188,189,190],{},"其次，我们在爱快动态域名中，输入如图所示的信息，保存等待解析，显示成功说明解析到了。\n",[116,191],{"alt":118,"src":192},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574342679.avif",[16,194,196],{"id":195},"_23-爱快端口转发","2.3 爱快端口转发",[29,198,199,220],{},[32,200,201,202,205,206,209,210,205,213,216,217],{},"为什么要端口转发，首先一个是要保护端口，其次就是我们在多层NAT之间访问，最重要的一点就是家庭宽带是没有 ",[36,203,204],{},"http"," 默认的 ",[36,207,208],{},"80 端口","，也没有 ",[36,211,212],{},"https",[36,214,215],{},"443"," 端口的。所以我们需要转发端口，如图所示打开端口转发页面。\n!",[116,218],{"alt":118,"src":219},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574362360.avif",[32,221,222,223,226,227,230,231,234,235,238,239],{},"假如爱快的",[36,224,225],{},"内网 IP"," 是：",[36,228,229],{},"192.168.5.1","，内网端口默认 ",[36,232,233],{},"80","，我们想外网访问的端口是 ",[36,236,237],{},"81","，那么可以添加以下信息如图所示。\n",[116,240],{"alt":118,"src":241},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574719368.avif",[11,243,245],{"id":244},"_24-爱快远程访问总结","2.4 爱快远程访问总结",[29,247,248,256],{},[32,249,250,251,255],{},"通过爱快域名解析，以及端口转发我们就能够得到了我们想转发的域名和端口，比如 ",[252,253,254],"code",{},"http:\u002F\u002Fik.ceshi.cn:81","，那么访问的就是爱快的页面。",[32,257,258,259,262],{},"域名解析是设备，端口转发不同的内网 IP 以及内网端口，我们就可以通过",[36,260,261],{},"相同域名+不同端口","访问相应的内网服务。",[91,264],{},[11,266,268],{"id":267},"_3-openwrt","3 OpenWRT",[16,270,272],{"id":271},"_31-openwrt域名解析插件","3.1 OpenWRT域名解析插件",[29,274,275,281,284,296,307],{},[32,276,277,278],{},"OpenWRT 域名解析插件有很多，比如 Alidns 只能解析阿里云的域名，Dnspod 只能解析腾讯云的域名，但是 DDNS-GO 这个插件能解析大多数域名，如图所示。\n",[116,279],{"alt":118,"src":280},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574821955.avif",[32,282,283],{},"填写方式和爱快差不多，唯一优势就是可以一次性解析多个域名，同时解析 IPv4 和 IPv6。",[32,285,286,287,289,290,183,292,295],{},"假如我们选择接口获取 IP，公网 IPv4 为：",[36,288,53],{},"，主域名为：",[36,291,38],{},[36,293,294],{},"v4.ceshi.cn","；",[32,297,298,299,183,301,304,305,60],{},"以及假如我们选择通过网卡获取，主域名为：",[36,300,38],{},[36,302,303],{},"v6.ceshi.cn","，公网IPv6为：",[36,306,59],{},[32,308,41,309,45,311,313],{},[36,310,44],{},[36,312,44],{},"。那么点保存解析我们就可以看到日志解析情况。",[16,315,317],{"id":316},"_32-openwrt-端口转发","3.2 OpenWRT 端口转发",[29,319,320,331,334],{},[32,321,322,323,326,327,330],{},"OpenWRT 端口转发的话有自己的防火墙转发，但是不好用，我这里推荐用 ",[36,324,325],{},"Socat"," 这个瑞士军刀的端口转发，比 ",[36,328,329],{},"Netcat"," 转发好用。",[32,332,333],{},"Socat 端口转发工具好处是，可以同时转发同一个设备服务内网的 IPv4 和 IPv6，这样就相当于 IPv6 解析的域名，转发内网 IPv4 可以被外网访问，但是其他的端口转发工具是不能转发 IPv6 的端口的，爱快也不行。",[32,335,336,337,230,340,234,342,344,345],{},"所以我们打开 Socat 端口转发工具，填写如图所示的内容，假如 OpenWRT 的内网 IP 是：",[36,338,339],{},"192.168.5.2",[36,341,233],{},[36,343,237],{},"。\n",[116,346],{"alt":118,"src":347},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574843536.avif",[16,349,351],{"id":350},"_34-openwrt远程访问总结","3.4 OpenWRT远程访问总结",[29,353,354,357,364,370],{},[32,355,356],{},"通过 OpenWRT 域名解析，以及 Socat 端口转发我们就能够得到了我们想转发的域名和端口，但是我们一次性得到的域名会比爱快得到的多。",[32,358,359,360,363],{},"比如 ",[252,361,362],{},"http:\u002F\u002Fceshi.cn:81","，是我们 IPv4 或者 IPv6 解析到的。",[32,365,359,366,369],{},[252,367,368],{},"http:\u002F\u002Fv4.ceshi.cn:81","，是我们 IPv4 解析到的。",[32,371,359,372,375],{},[252,373,374],{},"http:\u002F\u002Fv6.ceshi.cn:81","，是我们 IPv6 解析到的。",[91,377],{},[11,379,381],{"id":380},"_4-nginx","4. Nginx",[29,383,384,387,397,406],{},[32,385,386],{},"什么是反向代理？解析代理分正向代理，反向代理。其他的我们通常用不到，我们只要记住以下格式就行，无论怎么代理，都是通过域名+端口的方式。",[32,388,389,390,392,393,396],{},"域名解析 = 相同域名+不同端口，端口转发，比如 ",[252,391,362],{}," 为爱快，",[252,394,395],{},"http:\u002F\u002Fceshi.cn:82"," 为 openwrt。",[32,398,399,400,392,402,405],{},"反向代理 = 不同二级域名+相同端口，DDNS解析域名，比如 ",[252,401,254],{},[252,403,404],{},"http:\u002F\u002Fop.ceshi.cn:81"," 为 openwrt",[32,407,408],{},"反向代理最大的好处就是减少端口的暴露，避免被人扫端口，还能 SSL 证书认证，这样你用 https 访问就不会出现不安全的提示，反向代理其实就是一种端口不变的端口转发，实际是需要先去域名解析的。",[16,410,412],{"id":411},"_41-ddns-域名解析","4.1 DDNS 域名解析",[29,414,415,418,421,430,436],{},[32,416,417],{},"Nginx 是一种反向代理，相当于端口转发，实际是需要域名先解析的。",[32,419,420],{},"介绍了好几种域名解析的方法，我这里还是以爱快为例子。",[32,422,423,424,426,427,60],{},"因为我喜欢用的是泛域名和主域名，假如我们主域名是：",[36,425,38],{},"，泛域名为：*",[36,428,429],{},".ceshi.cn",[32,431,432,433],{},"如果你 IPv4 和 IPv6 都有那么，你就要添加两个任务，不同的是 IP 类型选择。爱快如图所示解析。\n",[116,434],{"alt":118,"src":435},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780574863217.avif",[32,437,438],{},"这样我们就得到了，DDNS 域名解析。",[16,440,442],{"id":441},"_42-nginx-反代","4.2 Nginx 反代",[29,444,445,448],{},[32,446,447],{},"如果，你看过前面文章，有宝塔和 1Panle 的介绍，你安装过这两个建站多功能平台，那么你应该会看到 Nginx 反代。",[32,449,450,451],{},"Nginx 其实是有纯代码的配置代理的，但是那个学起来不容易。还得是有图形界面的，宝塔和 1Panle 的 Nginx 是差不多的，那么我只介绍一种就行，我介绍的是宝塔平台，如图所示。\n",[116,452],{"alt":118,"src":453},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575153027.avif",[16,455,457],{"id":456},"_43-nginx反代设置","4.3 Nginx反代设置",[29,459,460,463,466],{},[32,461,462],{},"打开 Nginx 反代，添加站点。",[32,464,465],{},"假如我们在阿里云申请的域名为：ceshi.cn，固定外网端口为 88。",[32,467,468,469,471,472,474,475,478,479],{},"我们需要代理的服务为打开爱快的主页，爱快IP是：",[36,470,229],{},"，我们可以设置域名为：",[36,473,170],{},"，因为我们解析了",[36,476,477],{},"泛域名","，那么我们设置如图所示。\n",[116,480],{"alt":118,"src":481},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575617635.avif",[16,483,485],{"id":484},"_44-主路由转发端口","4.4 主路由转发端口",[29,487,488,495,498,501,504],{},[32,489,490,491,494],{},"这样我们就代理了 ",[252,492,493],{},"http:\u002F\u002Fik.ceshi.cn:88"," 为内网服务为的域名解析。",[32,496,497],{},"当然这样单纯的代理是不通的，毕竟我们没主路由转发这个搭建Nginx服务 IP 的端口，因为我们家宽的 80 端口以及 443 端口是不开放的，所以我们需要在设置域名时候直接带端口，因为域名默认是 80 端口。",[32,499,500],{},"假设搭建 Nginx 服务的内网 IP 是 192.168.5.5。",[32,502,503],{},"假如现在需要端口转发，我们可以去主路由，爱快，OpenWRT，或者其他华为小米路由器都是一样的。",[32,505,506,507],{},"我这里就以爱快主路由演示代理80端口为88端口，如图所示设置，因为是两个端口，所以我们要转发两个任务。\n",[116,508],{"alt":118,"src":509},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575774822.avif",[16,511,513],{"id":512},"_45-ssl-证书","4.5 SSL 证书",[29,515,516,522,525],{},[32,517,518,519,521],{},"这样我们就能通过 ",[252,520,493],{}," 访问到爱快的主页，但是会提示不安全，所以我们需要 SSL 证书认证。",[32,523,524],{},"我们在宝塔打开 SSL 证书申请如图所示，选择一个网站的域名申请证书即可，成功申请证书后。",[32,526,527,528,531,532],{},"我们访问 ",[252,529,530],{},"https:\u002F\u002Fik.ceshi.cn:88"," 就不会提示不安全。\n",[116,533],{"alt":118,"src":534},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575816927.avif",[16,536,538],{"id":537},"_46-nginx反代总结","4.6 Nginx反代总结",[21,540,541],{},"反代比域名解析更加减少端口，也增加了 SSL 证书，就不会提示不安全。",[91,543],{},[11,545,547],{"id":546},"_5-nginx-proxy-manager","5. Nginx-Proxy-Manager",[21,549,550],{},"Nginx-Proxy-Manager 其实就是 Nginx 图形化的版本，不用单独依赖宝塔、1Panle 这样的平台才有图形界面，我们后面就简称 NPM 了，NPM 也需要 DDNS 域名解析的，所以这里不赘述了。",[16,552,554],{"id":553},"_51-npm安装","5.1 NPM安装",[21,556,557,558,561,562,60],{},"NPM 我们安装的方法是用 docker-compose 的方法，因为我们家宽的 80 端口以及 443 端口是不开放的，所以我们只需要把80端口变成881端口，443 端口变成 882 就行。\nNPM 的 webUI 端口为 881，默认登陆账号为：",[252,559,560],{},"admin@example.com","，密码为：",[252,563,564],{},"changeme",[566,567,571],"pre",{"className":568,"code":569,"language":570,"meta":118,"style":118},"language-yaml shiki shiki-themes github-light github-dark","# 官方文档\n# 官方是不带中文翻译的，有翻译的镜像，使用方法都一样。\n# https:\u002F\u002Fgithub.com\u002Fxiaoxinpro\u002Fnginx-proxy-manager-zh\n# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fzoeyvid\u002Fnginx-proxy-manager\n# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fchishin\u002Fnginx-proxy-manager-zh\n# 默认账号密码 Email:admin@example.com   Password: changeme\n\n# ---\n\nname: nginx_npm\n# 最后编辑时间：2025-02-14\nservices:\n nginx_npm:\n    # 镜像地址，中文版本\n    image: chishin\u002Fnginx-proxy-manager-zh:latest\n    # 容器名字\n    container_name: nginx_npm\n    # 主机名\n    hostname: nginx_npm\n    # 配置目录\n    environment:\n      # 数据库主机名\n      DB_MYSQL_HOST: npm_db\n      # 连接数据库端口\n      DB_MYSQL_PORT: 3306\n      # 数据库用户\n      DB_MYSQL_USER: npm\n      # 数据库密码\n      DB_MYSQL_PASSWORD: npm\n      # 数据库名称\n      DB_MYSQL_NAME: npm\n      # 如果您的主机上未启用IPv6，请取消注释\n      DISABLE_IPV6: true\n    volumes:\n      # 配置文件目录\n      - \u002Fdocker\u002Fapps\u002Fnginx_npm\u002Fnpm\u002Fdata:\u002Fdata\n      # let's encrypt SSL证书目录\n      - \u002Fdocker\u002Fapps\u002Fnginx_npm\u002Fnpm\u002Fletsencrypt:\u002Fetc\u002Fletsencrypt\n    # 连接数据库\n    depends_on:\n      - npm_db\n    ports:\n      # WebUI端口\n      - 881:81 \n      # http 端口\n      - 882:80\n      # https 端口\n      - 883:443\n      # FTP端口\n      # - 21:21 \n    # 重启策略，总是重启\n    restart: always\n    \n npm_db:\n    # 镜像地址\n    image: jc21\u002Fmariadb-aria:latest\n    # 容器名字\n    container_name: npm_db \n    # 主机名\n    hostname: npm_db\n    environment:\n      # 数据库root密码\n      MYSQL_ROOT_PASSWORD: npm\n      # 数据库\n      MYSQL_DATABASE: npm\n      # 数据库用户\n      MYSQL_USER: npm\n      # 数据库密码\n      MYSQL_PASSWORD: npm\n      # 是否自动升级，1 = 是 ，0 = 否\n      MARIADB_AUTO_UPGRADE: 1\n    volumes:\n      # 数据库配置文件目录\n      - \u002Fdocker\u002Fapps\u002Fnginx_npm\u002Fnpm_db\u002Fmysql:\u002Fvar\u002Flib\u002Fmysql\n    # 重启策略，总是重启\n    restart: always\n","yaml",[252,572,573,582,588,594,600,606,612,619,625,630,645,651,660,668,674,685,691,701,707,717,723,731,737,748,754,766,772,783,789,799,805,815,821,832,840,846,855,861,869,875,883,890,898,904,915,921,929,935,943,949,955,961,972,978,986,992,1002,1007,1019,1024,1033,1040,1046,1056,1062,1072,1077,1087,1092,1102,1108,1119,1126,1132,1140,1145],{"__ignoreMap":118},[574,575,578],"span",{"class":576,"line":577},"line",1,[574,579,581],{"class":580},"sJ8bj","# 官方文档\n",[574,583,585],{"class":576,"line":584},2,[574,586,587],{"class":580},"# 官方是不带中文翻译的，有翻译的镜像，使用方法都一样。\n",[574,589,591],{"class":576,"line":590},3,[574,592,593],{"class":580},"# https:\u002F\u002Fgithub.com\u002Fxiaoxinpro\u002Fnginx-proxy-manager-zh\n",[574,595,597],{"class":576,"line":596},4,[574,598,599],{"class":580},"# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fzoeyvid\u002Fnginx-proxy-manager\n",[574,601,603],{"class":576,"line":602},5,[574,604,605],{"class":580},"# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fchishin\u002Fnginx-proxy-manager-zh\n",[574,607,609],{"class":576,"line":608},6,[574,610,611],{"class":580},"# 默认账号密码 Email:admin@example.com   Password: changeme\n",[574,613,615],{"class":576,"line":614},7,[574,616,618],{"emptyLinePlaceholder":617},true,"\n",[574,620,622],{"class":576,"line":621},8,[574,623,624],{"class":580},"# ---\n",[574,626,628],{"class":576,"line":627},9,[574,629,618],{"emptyLinePlaceholder":617},[574,631,633,637,641],{"class":576,"line":632},10,[574,634,636],{"class":635},"s9eBZ","name",[574,638,640],{"class":639},"sVt8B",": ",[574,642,644],{"class":643},"sZZnC","nginx_npm\n",[574,646,648],{"class":576,"line":647},11,[574,649,650],{"class":580},"# 最后编辑时间：2025-02-14\n",[574,652,654,657],{"class":576,"line":653},12,[574,655,656],{"class":635},"services",[574,658,659],{"class":639},":\n",[574,661,663,666],{"class":576,"line":662},13,[574,664,665],{"class":635}," nginx_npm",[574,667,659],{"class":639},[574,669,671],{"class":576,"line":670},14,[574,672,673],{"class":580},"    # 镜像地址，中文版本\n",[574,675,677,680,682],{"class":576,"line":676},15,[574,678,679],{"class":635},"    image",[574,681,640],{"class":639},[574,683,684],{"class":643},"chishin\u002Fnginx-proxy-manager-zh:latest\n",[574,686,688],{"class":576,"line":687},16,[574,689,690],{"class":580},"    # 容器名字\n",[574,692,694,697,699],{"class":576,"line":693},17,[574,695,696],{"class":635},"    container_name",[574,698,640],{"class":639},[574,700,644],{"class":643},[574,702,704],{"class":576,"line":703},18,[574,705,706],{"class":580},"    # 主机名\n",[574,708,710,713,715],{"class":576,"line":709},19,[574,711,712],{"class":635},"    hostname",[574,714,640],{"class":639},[574,716,644],{"class":643},[574,718,720],{"class":576,"line":719},20,[574,721,722],{"class":580},"    # 配置目录\n",[574,724,726,729],{"class":576,"line":725},21,[574,727,728],{"class":635},"    environment",[574,730,659],{"class":639},[574,732,734],{"class":576,"line":733},22,[574,735,736],{"class":580},"      # 数据库主机名\n",[574,738,740,743,745],{"class":576,"line":739},23,[574,741,742],{"class":635},"      DB_MYSQL_HOST",[574,744,640],{"class":639},[574,746,747],{"class":643},"npm_db\n",[574,749,751],{"class":576,"line":750},24,[574,752,753],{"class":580},"      # 连接数据库端口\n",[574,755,757,760,762],{"class":576,"line":756},25,[574,758,759],{"class":635},"      DB_MYSQL_PORT",[574,761,640],{"class":639},[574,763,765],{"class":764},"sj4cs","3306\n",[574,767,769],{"class":576,"line":768},26,[574,770,771],{"class":580},"      # 数据库用户\n",[574,773,775,778,780],{"class":576,"line":774},27,[574,776,777],{"class":635},"      DB_MYSQL_USER",[574,779,640],{"class":639},[574,781,782],{"class":643},"npm\n",[574,784,786],{"class":576,"line":785},28,[574,787,788],{"class":580},"      # 数据库密码\n",[574,790,792,795,797],{"class":576,"line":791},29,[574,793,794],{"class":635},"      DB_MYSQL_PASSWORD",[574,796,640],{"class":639},[574,798,782],{"class":643},[574,800,802],{"class":576,"line":801},30,[574,803,804],{"class":580},"      # 数据库名称\n",[574,806,808,811,813],{"class":576,"line":807},31,[574,809,810],{"class":635},"      DB_MYSQL_NAME",[574,812,640],{"class":639},[574,814,782],{"class":643},[574,816,818],{"class":576,"line":817},32,[574,819,820],{"class":580},"      # 如果您的主机上未启用IPv6，请取消注释\n",[574,822,824,827,829],{"class":576,"line":823},33,[574,825,826],{"class":635},"      DISABLE_IPV6",[574,828,640],{"class":639},[574,830,831],{"class":764},"true\n",[574,833,835,838],{"class":576,"line":834},34,[574,836,837],{"class":635},"    volumes",[574,839,659],{"class":639},[574,841,843],{"class":576,"line":842},35,[574,844,845],{"class":580},"      # 配置文件目录\n",[574,847,849,852],{"class":576,"line":848},36,[574,850,851],{"class":639},"      - ",[574,853,854],{"class":643},"\u002Fdocker\u002Fapps\u002Fnginx_npm\u002Fnpm\u002Fdata:\u002Fdata\n",[574,856,858],{"class":576,"line":857},37,[574,859,860],{"class":580},"      # let's encrypt SSL证书目录\n",[574,862,864,866],{"class":576,"line":863},38,[574,865,851],{"class":639},[574,867,868],{"class":643},"\u002Fdocker\u002Fapps\u002Fnginx_npm\u002Fnpm\u002Fletsencrypt:\u002Fetc\u002Fletsencrypt\n",[574,870,872],{"class":576,"line":871},39,[574,873,874],{"class":580},"    # 连接数据库\n",[574,876,878,881],{"class":576,"line":877},40,[574,879,880],{"class":635},"    depends_on",[574,882,659],{"class":639},[574,884,886,888],{"class":576,"line":885},41,[574,887,851],{"class":639},[574,889,747],{"class":643},[574,891,893,896],{"class":576,"line":892},42,[574,894,895],{"class":635},"    ports",[574,897,659],{"class":639},[574,899,901],{"class":576,"line":900},43,[574,902,903],{"class":580},"      # WebUI端口\n",[574,905,907,909,912],{"class":576,"line":906},44,[574,908,851],{"class":639},[574,910,911],{"class":643},"881:81",[574,913,914],{"class":639}," \n",[574,916,918],{"class":576,"line":917},45,[574,919,920],{"class":580},"      # http 端口\n",[574,922,924,926],{"class":576,"line":923},46,[574,925,851],{"class":639},[574,927,928],{"class":643},"882:80\n",[574,930,932],{"class":576,"line":931},47,[574,933,934],{"class":580},"      # https 端口\n",[574,936,938,940],{"class":576,"line":937},48,[574,939,851],{"class":639},[574,941,942],{"class":643},"883:443\n",[574,944,946],{"class":576,"line":945},49,[574,947,948],{"class":580},"      # FTP端口\n",[574,950,952],{"class":576,"line":951},50,[574,953,954],{"class":580},"      # - 21:21 \n",[574,956,958],{"class":576,"line":957},51,[574,959,960],{"class":580},"    # 重启策略，总是重启\n",[574,962,964,967,969],{"class":576,"line":963},52,[574,965,966],{"class":635},"    restart",[574,968,640],{"class":639},[574,970,971],{"class":643},"always\n",[574,973,975],{"class":576,"line":974},53,[574,976,977],{"class":639},"    \n",[574,979,981,984],{"class":576,"line":980},54,[574,982,983],{"class":635}," npm_db",[574,985,659],{"class":639},[574,987,989],{"class":576,"line":988},55,[574,990,991],{"class":580},"    # 镜像地址\n",[574,993,995,997,999],{"class":576,"line":994},56,[574,996,679],{"class":635},[574,998,640],{"class":639},[574,1000,1001],{"class":643},"jc21\u002Fmariadb-aria:latest\n",[574,1003,1005],{"class":576,"line":1004},57,[574,1006,690],{"class":580},[574,1008,1010,1012,1014,1017],{"class":576,"line":1009},58,[574,1011,696],{"class":635},[574,1013,640],{"class":639},[574,1015,1016],{"class":643},"npm_db",[574,1018,914],{"class":639},[574,1020,1022],{"class":576,"line":1021},59,[574,1023,706],{"class":580},[574,1025,1027,1029,1031],{"class":576,"line":1026},60,[574,1028,712],{"class":635},[574,1030,640],{"class":639},[574,1032,747],{"class":643},[574,1034,1036,1038],{"class":576,"line":1035},61,[574,1037,728],{"class":635},[574,1039,659],{"class":639},[574,1041,1043],{"class":576,"line":1042},62,[574,1044,1045],{"class":580},"      # 数据库root密码\n",[574,1047,1049,1052,1054],{"class":576,"line":1048},63,[574,1050,1051],{"class":635},"      MYSQL_ROOT_PASSWORD",[574,1053,640],{"class":639},[574,1055,782],{"class":643},[574,1057,1059],{"class":576,"line":1058},64,[574,1060,1061],{"class":580},"      # 数据库\n",[574,1063,1065,1068,1070],{"class":576,"line":1064},65,[574,1066,1067],{"class":635},"      MYSQL_DATABASE",[574,1069,640],{"class":639},[574,1071,782],{"class":643},[574,1073,1075],{"class":576,"line":1074},66,[574,1076,771],{"class":580},[574,1078,1080,1083,1085],{"class":576,"line":1079},67,[574,1081,1082],{"class":635},"      MYSQL_USER",[574,1084,640],{"class":639},[574,1086,782],{"class":643},[574,1088,1090],{"class":576,"line":1089},68,[574,1091,788],{"class":580},[574,1093,1095,1098,1100],{"class":576,"line":1094},69,[574,1096,1097],{"class":635},"      MYSQL_PASSWORD",[574,1099,640],{"class":639},[574,1101,782],{"class":643},[574,1103,1105],{"class":576,"line":1104},70,[574,1106,1107],{"class":580},"      # 是否自动升级，1 = 是 ，0 = 否\n",[574,1109,1111,1114,1116],{"class":576,"line":1110},71,[574,1112,1113],{"class":635},"      MARIADB_AUTO_UPGRADE",[574,1115,640],{"class":639},[574,1117,1118],{"class":764},"1\n",[574,1120,1122,1124],{"class":576,"line":1121},72,[574,1123,837],{"class":635},[574,1125,659],{"class":639},[574,1127,1129],{"class":576,"line":1128},73,[574,1130,1131],{"class":580},"      # 数据库配置文件目录\n",[574,1133,1135,1137],{"class":576,"line":1134},74,[574,1136,851],{"class":639},[574,1138,1139],{"class":643},"\u002Fdocker\u002Fapps\u002Fnginx_npm\u002Fnpm_db\u002Fmysql:\u002Fvar\u002Flib\u002Fmysql\n",[574,1141,1143],{"class":576,"line":1142},75,[574,1144,960],{"class":580},[574,1146,1148,1150,1152],{"class":576,"line":1147},76,[574,1149,966],{"class":635},[574,1151,640],{"class":639},[574,1153,971],{"class":643},[21,1155,1156,1157,1160],{},"创建好 NPM 的服务，浏览器打开 ",[252,1158,1159],{},"http:\u002F\u002F192.168.x.x:881","，登录账号后修改账号密码。",[16,1162,1164],{"id":1163},"_52-ssl-证书设置","5.2 SSL 证书设置",[21,1166,1167,1168,1171,1172],{},"NPM 我们首先是生成 SSL 证书，毕竟我们在 Nginx 已经熟悉了 SSL，如下图所示，打开 Let's Encrypt 申请证书。\n",[116,1169],{"alt":118,"src":1170},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575906018.avif","\n假如域名是：ceshi.cn，泛域名是：*.ceshi.cn，阿里云token为：ceshi和ceshi，那么如图所示就可以申请SSL证书。\n",[116,1173],{"alt":118,"src":1174},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575907626.avif",[16,1176,1178],{"id":1177},"_53-npm-反代设置","5.3 NPM 反代设置",[21,1180,1181,1182,1184,1185,1187,1188,1191],{},"打开主机，代理服务，添加代理服务。假如我们需要反代内网IP为 192.168.5.1 的爱快服务，域名我们设置为 ",[36,1183,170],{},"，端口为 ",[36,1186,233],{},"，那么我们如图所示添加。SSL 选择我们域名申请的 SSL 证书，并且打开所有选项。\n",[116,1189],{"alt":118,"src":1190},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575908973.avif",[116,1192],{"alt":118,"src":1193},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780575910273.avif",[16,1195,1197],{"id":1196},"_54-主路由端口转发以及域名访问","5.4 主路由端口转发以及域名访问",[21,1199,1200,1201,1204,1205,1210],{},"老样子，假如我们 NPM 服务是搭建在内网 IP 为 ",[36,1202,1203],{},"192.168.5.5"," 内，我们需要把内网端口 88（原80端口）转发为外网端口 88，以及内网端口 888（原443端口）转发为外网端口 888。方法就不多介绍了，上面都有。这样我们就成功反代了爱快，而且我们可以用域名 ",[1206,1207,493],"a",{"href":493,"rel":1208},[1209],"nofollow"," 来访问。",[91,1212],{},[11,1214,1216],{"id":1215},"_6-lucky","6. Lucky",[21,1218,1219,1220,1222],{},"Lucky 与 Nginx 反代和 NPM 反代是不一样，他不用依赖别的 DDNS 域名解析，Lucky 集成 DDNS 域名解析，端口转发，反向代理 SSL 证书，是一款很好用的服务，当然我们也需要在主路由上端口转发。假如lucky服务是搭建在内网IP为 ",[36,1221,1203],{}," 上，那么我们需要转发内网端口 88 为外网端口 88，具体步骤和上面差不多，就不用重复说了。",[16,1224,1226],{"id":1225},"_61-lucky安装","6.1 Lucky安装",[21,1228,1229,1230,561,1233,60],{},"Lucky 我们安装的方法是用 docker-compose 的方法，Lucky 的 webUI 端口为 16601，默认登陆账号为：",[36,1231,1232],{},"666",[36,1234,1232],{},[566,1236,1238],{"className":568,"code":1237,"language":570,"meta":118,"style":118},"# 官方文档\n# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fgdy666\u002Flucky\n# https:\u002F\u002Fwww.lucky666.cn\u002Fdocs\u002Finstall\n# https:\u002F\u002Fwww.lucky666.cn\n#默认端口16601，账号666，密码666\n\n# ---\n\nname: lucky\n# 最后编辑时间：2025-02-14\nservices:\n  lucky:\n    # 镜像地址\n    image: gdy666\u002Flucky\n    # 容器名字\n    container_name: lucky\n    # 主机名\n    hostname: lucky\n    volumes:\n      # 配置文件目录\n      - \u002Fdocker\u002Fapps\u002Flucky:\u002Fgoodluck\n    # 直接使用host模式，可在设置内自定义WebUI端口，默认端口16601\n    network_mode: host \n    # 重启策略，总是重启\n    restart: always\n",[252,1239,1240,1244,1249,1254,1259,1264,1268,1272,1276,1285,1289,1295,1302,1306,1315,1319,1327,1331,1339,1345,1349,1356,1361,1373,1377],{"__ignoreMap":118},[574,1241,1242],{"class":576,"line":577},[574,1243,581],{"class":580},[574,1245,1246],{"class":576,"line":584},[574,1247,1248],{"class":580},"# https:\u002F\u002Fhub.docker.com\u002Fr\u002Fgdy666\u002Flucky\n",[574,1250,1251],{"class":576,"line":590},[574,1252,1253],{"class":580},"# https:\u002F\u002Fwww.lucky666.cn\u002Fdocs\u002Finstall\n",[574,1255,1256],{"class":576,"line":596},[574,1257,1258],{"class":580},"# https:\u002F\u002Fwww.lucky666.cn\n",[574,1260,1261],{"class":576,"line":602},[574,1262,1263],{"class":580},"#默认端口16601，账号666，密码666\n",[574,1265,1266],{"class":576,"line":608},[574,1267,618],{"emptyLinePlaceholder":617},[574,1269,1270],{"class":576,"line":614},[574,1271,624],{"class":580},[574,1273,1274],{"class":576,"line":621},[574,1275,618],{"emptyLinePlaceholder":617},[574,1277,1278,1280,1282],{"class":576,"line":627},[574,1279,636],{"class":635},[574,1281,640],{"class":639},[574,1283,1284],{"class":643},"lucky\n",[574,1286,1287],{"class":576,"line":632},[574,1288,650],{"class":580},[574,1290,1291,1293],{"class":576,"line":647},[574,1292,656],{"class":635},[574,1294,659],{"class":639},[574,1296,1297,1300],{"class":576,"line":653},[574,1298,1299],{"class":635},"  lucky",[574,1301,659],{"class":639},[574,1303,1304],{"class":576,"line":662},[574,1305,991],{"class":580},[574,1307,1308,1310,1312],{"class":576,"line":670},[574,1309,679],{"class":635},[574,1311,640],{"class":639},[574,1313,1314],{"class":643},"gdy666\u002Flucky\n",[574,1316,1317],{"class":576,"line":676},[574,1318,690],{"class":580},[574,1320,1321,1323,1325],{"class":576,"line":687},[574,1322,696],{"class":635},[574,1324,640],{"class":639},[574,1326,1284],{"class":643},[574,1328,1329],{"class":576,"line":693},[574,1330,706],{"class":580},[574,1332,1333,1335,1337],{"class":576,"line":703},[574,1334,712],{"class":635},[574,1336,640],{"class":639},[574,1338,1284],{"class":643},[574,1340,1341,1343],{"class":576,"line":709},[574,1342,837],{"class":635},[574,1344,659],{"class":639},[574,1346,1347],{"class":576,"line":719},[574,1348,845],{"class":580},[574,1350,1351,1353],{"class":576,"line":725},[574,1352,851],{"class":639},[574,1354,1355],{"class":643},"\u002Fdocker\u002Fapps\u002Flucky:\u002Fgoodluck\n",[574,1357,1358],{"class":576,"line":733},[574,1359,1360],{"class":580},"    # 直接使用host模式，可在设置内自定义WebUI端口，默认端口16601\n",[574,1362,1363,1366,1368,1371],{"class":576,"line":739},[574,1364,1365],{"class":635},"    network_mode",[574,1367,640],{"class":639},[574,1369,1370],{"class":643},"host",[574,1372,914],{"class":639},[574,1374,1375],{"class":576,"line":750},[574,1376,960],{"class":580},[574,1378,1379,1381,1383],{"class":576,"line":756},[574,1380,966],{"class":635},[574,1382,640],{"class":639},[574,1384,971],{"class":643},[21,1386,1387,1388,1391],{},"创建好 Lucky 的服务，浏览器打开 ",[252,1389,1390],{},"http:\u002F\u002F192.168.x.x:16601","，登录账号后修改账号密码，建议加一个访问的口令。",[16,1393,1395],{"id":1394},"_62-ssl-证书设置","6.2 SSL 证书设置",[21,1397,1398,1399,1402,1403,1405,1406,1409,1410,1412,1413,1415,1416],{},"打开 ",[252,1400,1401],{},"SSL\u002FTLS"," 证书，添加证书。假如我们域名是阿里云注册的：",[36,1404,38],{},"，一样的",[36,1407,1408],{},"token","，主域名：",[36,1411,38],{},"，泛域名：",[36,1414,81],{},"。如图所设置，我们就可以申请 SSL 证书，等待几分钟就会成功，失败就多申请几次。\n",[116,1417],{"alt":118,"src":1418},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780576009460.avif",[16,1420,1422],{"id":1421},"_63-lucky-域名解析","6.3 Lucky 域名解析",[21,1424,1425,1426,1428,1429,1409,1431,1412,1433,1435,1436],{},"这个就是 Lucky 牛的地方了，自带域名解析。打开 lucky，选择动态域名，添加任务。假如你同时有 IPv4 和 IPv6，那么需要分成两个任务来域名解析 IPv4 和 IPv6，这里以 IPv4 为例子。\n假如我们域名是阿里云注册的：",[36,1427,38],{},"，一样的 ",[36,1430,1408],{},[36,1432,38],{},[36,1434,81],{},"。如图所设置，我们就可以域名解析，等待几分钟就会解析成功。\n",[116,1437],{"alt":118,"src":1438},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780576011215.avif",[16,1440,1442],{"id":1441},"_64-lucky-反向代理","6.4 Lucky 反向代理",[21,1444,1445,1446,1449,1450,1453,1454,1456,1457,1460,1461,1464,1465,1468,1469,1210],{},"打开 lucky，Web 服务，添加 Web 服务规则，假如我们的端口是 88，如图所示设置。\n",[116,1447],{"alt":118,"src":1448},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780576012690.avif","\n假如我们需要反代内网 IP 为 ",[252,1451,1452],{},"http:\u002F\u002F192.168.5.1"," 的爱快服务，域名我们设置为 ",[36,1455,170],{},"，添加 ",[36,1458,1459],{},"web 子规则","，如图所示设置就行。\n",[116,1462],{"alt":118,"src":1463},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780576014177.avif","\n这样我们就成功",[36,1466,1467],{},"反代了爱快","，而且我们只能用域名 ",[252,1470,530],{},[16,1472,1474],{"id":1473},"_65-http-重定向为-https","6.5 http 重定向为 https",[21,1476,1477,1478,1481,1482,1485,1486,1489,1490,1493,1496,1497,1500],{},"比如我们每次都要输入 ",[252,1479,1480],{},"https:\u002F\u002F"," 那么不是很麻烦，所以就需要 ",[36,1483,1484],{},"http 重定向为 https","。同样我们要添加一个新的 web 服务规则，操作模式为订制模式，端口改为 88，在默认规则并且把反向代理改为重定向，默认目标地址为：",[252,1487,1488],{},"https:\u002F\u002F{host}:{port}","，如图所示设置。\n",[116,1491],{"alt":118,"src":1492},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780576015636.avif",[116,1494],{"alt":118,"src":1495},"https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780576017007.avif","\n完成这两步骤以后，我们就可以输入 ",[36,1498,1499],{},"ik.ceshi.cn:88","，来访问爱快主页。",[91,1502],{},[11,1504,1506],{"id":1505},"_7-总结","7. 总结",[21,1508,1509,1510,60],{},"远程访问，不过就是域名解析+端口转发，反代就是加上 SSL 证书，一切前提就是你有",[36,1511,1512],{},"公网 IP",[1514,1515,1516],"style",{},"html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":118,"searchDepth":584,"depth":584,"links":1518},[1519,1523,1528,1529,1534,1542,1548,1555],{"id":13,"depth":584,"text":14,"children":1520},[1521,1522],{"id":18,"depth":590,"text":19},{"id":26,"depth":590,"text":27},{"id":95,"depth":584,"text":96,"children":1524},[1525,1526,1527],{"id":99,"depth":590,"text":100},{"id":122,"depth":590,"text":123},{"id":195,"depth":590,"text":196},{"id":244,"depth":584,"text":245},{"id":267,"depth":584,"text":268,"children":1530},[1531,1532,1533],{"id":271,"depth":590,"text":272},{"id":316,"depth":590,"text":317},{"id":350,"depth":590,"text":351},{"id":380,"depth":584,"text":381,"children":1535},[1536,1537,1538,1539,1540,1541],{"id":411,"depth":590,"text":412},{"id":441,"depth":590,"text":442},{"id":456,"depth":590,"text":457},{"id":484,"depth":590,"text":485},{"id":512,"depth":590,"text":513},{"id":537,"depth":590,"text":538},{"id":546,"depth":584,"text":547,"children":1543},[1544,1545,1546,1547],{"id":553,"depth":590,"text":554},{"id":1163,"depth":590,"text":1164},{"id":1177,"depth":590,"text":1178},{"id":1196,"depth":590,"text":1197},{"id":1215,"depth":584,"text":1216,"children":1549},[1550,1551,1552,1553,1554],{"id":1225,"depth":590,"text":1226},{"id":1394,"depth":590,"text":1395},{"id":1421,"depth":590,"text":1422},{"id":1441,"depth":590,"text":1442},{"id":1473,"depth":590,"text":1474},{"id":1505,"depth":584,"text":1506},"软路由",null,"2025-08-05","公网远程访问，IPv6也是公网",false,"md","https:\u002F\u002Fimg.nw177.cn\u002Fblog\u002F2026\u002F06\u002F04\u002F1780564487834.avif",{"published":1564},"2025-08-15","\u002Fblog\u002F10-技术专栏\u002F20-network\u002F03.如何玩公网，怎么远程访问（二）",{"title":5,"description":1559},"blog\u002F10-技术专栏\u002F20-network\u002F03.如何玩公网，怎么远程访问（二）",[1556,1569,1512],"远程访问","AOWkvYAY8tAT0cJXgGU54g7zR2BodGI95S4K63-iGy8",[1572,1576,1580,1584,1587,1590,1594,1597,1601,1605,1609,1613,1617,1621,1625,1629,1633,1637,1641,1644,1648,1652,1656,1660,1663,1667,1671,1675,1679,1683,1687,1691,1695,1699,1703,1707,1711,1714,1718,1722,1726,1730,1733,1736,1739,1742,1745,1748,1751,1754,1757,1758,1761,1764,1767,1770,1773,1776,1779,1782,1785],{"path":1573,"title":1574,"date":1575},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F16.IPv6与DNS的分手协议","IPv6 与 DNS 的分手协议","2026-10-02",{"path":1577,"title":1578,"date":1579},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F04.我的-AI-入坑记","我的 AI 入坑记","2026-09-24",{"path":1581,"title":1582,"date":1583},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F01.用-Docker-部署-Ollama-与-Open-WebUI-搭建本地大模型","用 Docker 部署 Ollama 与 Open WebUI 搭建本地大模型","2026-09-23",{"path":1585,"title":1586,"date":1583},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F02.用-New-API-搭建统一-LLM-网关与-Lucky-反代外网访问","用 New API 搭建统一 LLM 网关与 Lucky 反代外网访问",{"path":1588,"title":1589,"date":1583},"\u002Fblog\u002F10-技术专栏\u002F50-AI\u002F03.用-Dify-搭建本地知识库让-AI-读懂你写的博客","用 Dify 搭建本地知识库，让 AI 读懂你写的博客",{"path":1591,"title":1592,"date":1593},"\u002Fblog\u002F20-生活碎片\u002F03-2026年秋季计划","2026 年秋季计划","2026-09-19",{"path":1595,"title":1596,"date":1593},"\u002Fblog\u002F30-学习笔记\u002F02.Python入门书单","Python 入门书单：从第一行代码到写出真正的程序",{"path":1598,"title":1599,"date":1600},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F09-Cloudflare-低延迟接入方案","Cloudflare 低延迟接入方案","2026-07-22 03:17:28",{"path":1602,"title":1603,"date":1604},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F08-Cloudflare-ImgBed-免费私有图床完整部署手册","Cloudflare ImgBed 免费私有图床完整部署手册","2026-07-19 02:09:08",{"path":1606,"title":1607,"date":1608},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F07-腾讯云-EdgeOne-边缘函数实现七牛-S3-随机图床-API","腾讯云 EdgeOne 边缘函数实现七牛云 & S3 存储随机图床 API","2026-07-13 21:25:48",{"path":1610,"title":1611,"date":1612},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F06-腾讯-EdgeOne-部署-Twikoo-评论系统指南","腾讯EdgeOne部署Twikoo评论系统指南","2026-06-14 17:41:11",{"path":1614,"title":1615,"date":1616},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F05-OpenList-接入-S3-对象存储完整使用教程","OpenList 接入 S3 对象存储完整使用教程","2026-06-11 13:08:07",{"path":1618,"title":1619,"date":1620},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F04-Cloudflare-R2-图床与全球加速方案","Cloudflare R2 图床与全球加速方案","2026-06-09 13:07:35",{"path":1622,"title":1623,"date":1624},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F03-免费图床与CDN加速方案","免费图床与 CDN 加速方案","2026-06-09",{"path":1626,"title":1627,"date":1628},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F02-零基础优雅搭建静态博客全教程","零基础优雅搭建静态博客全教程","2026-06-04",{"path":1630,"title":1631,"date":1632},"\u002Fblog\u002F10-技术专栏\u002F40-WebsiteBuilding\u002F01-远古产物—博客","赛博空间的私人岛屿：博客架构与风格美学","2026-06-03",{"path":1634,"title":1635,"date":1636},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F15.关于NAT回流与内网域名直连的终极指南","关于 NAT 回流与内网域名直连的终极指南","2026-05-13",{"path":1638,"title":1639,"date":1640},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F14.飞牛安全访问与Lucky反代雷池防护","飞牛安全访问与 Lucky 反代雷池防护","2026-02-03",{"path":1642,"title":1643,"date":1640},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F18.一键DD纯净系统脚本","一键 DD 纯净系统脚本",{"path":1645,"title":1646,"date":1647},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F17.Ventoy多系统启动盘制作与使用全指南","Ventoy 多系统启动盘制作与使用全指南","2026-02-02",{"path":1649,"title":1650,"date":1651},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F16.Emby元数据匹配与中文命名规范","Emby 元数据匹配与中文命名规范","2026-02-01",{"path":1653,"title":1654,"date":1655},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F15.基于PVE系统安装LXC-debian","基于 PVE 系统安装 LXC-debian","2026-01-19",{"path":1657,"title":1658,"date":1659},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F13.Lucky反向代理终极指南","Lucky 反向代理终极指南","2026-01-16",{"path":1661,"title":1662,"date":1659},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F14.OEC盒子Armbian刷机指南","OEC 盒子 Armbian 刷机指南",{"path":1664,"title":1665,"date":1666},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F13.oec-fnOS安装","OEC-Turbo (RK3566) 安装飞牛 OS","2026-01-15",{"path":1668,"title":1669,"date":1670},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F12.新的篇章，debian12的配置","新的篇章，debian12 的配置","2026-01-14",{"path":1672,"title":1673,"date":1674},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F11.飞牛OS安装后必要配置","飞牛 OS 安装后必要配置","2026-01-06",{"path":1676,"title":1677,"date":1678},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F11.NAS-导航页的终极形态","告别繁琐配置：NAS 导航页的终极形态 —— 从 Sun-Panel 到 FlatNAS","2026-01-05",{"path":1680,"title":1681,"date":1682},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F10.LogVar-弹幕-API-部署指南","LogVar 弹幕 API  (纯本地缓存版) 部署指南","2025-12-30",{"path":1684,"title":1685,"date":1686},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F10.基于Lucky与QMediaSync的飞牛远程媒体访问","基于 Lucky 与 QMediaSync 的飞牛远程媒体访问","2025-12-26",{"path":1688,"title":1689,"date":1690},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F09.新的篇章，PVE虚拟机","新的篇章，PVE虚拟机","2025-12-21",{"path":1692,"title":1693,"date":1694},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F08.Linux系统，音响有底噪","Linux 系统，音响有底噪怎么办？","2025-12-17",{"path":1696,"title":1697,"date":1698},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F07.飞牛OS的安装","飞牛 OS 的安装","2025-12-14",{"path":1700,"title":1701,"date":1702},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F06.Debian13换源","Debian13 换源","2025-11-29",{"path":1704,"title":1705,"date":1706},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F05.Kodi-CoreELEC安装指南","Kodi & CoreELEC 安装指南","2025-11-21",{"path":1708,"title":1709,"date":1710},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F09.兰空图床和高清图标库","兰空图床和高清图标库","2025-11-15",{"path":1712,"title":1713,"date":1710},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F04.N1盒子Armbian刷机与配置","N1 盒子 Armbian 刷机与配置",{"path":1715,"title":1716,"date":1717},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F08.你是否需要一个图床？","你是否需要一个图床？","2025-11-14",{"path":1719,"title":1720,"date":1721},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F03.飞牛NAS第三方应用商店安装","飞牛 NAS 第三方应用商店 (FnDepot) 安装指南","2025-10-13",{"path":1723,"title":1724,"date":1725},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F02.Hills播放器-Windows-安卓","Hills 播放器（Windows + 安卓）","2025-09-24",{"path":1727,"title":1728,"date":1729},"\u002Fblog\u002F10-技术专栏\u002F30-Linux\u002F01.一行代码降低服务器功耗","一行代码降低服务器功耗","2025-08-19",{"path":1731,"title":1732,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F01.容器-docker-docker-compose","容器 & docker & docker-compose",{"path":1734,"title":1735,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F02.容器项目-传输类","容器项目&传输类",{"path":1737,"title":1738,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F03.容器项目-相册类","容器项目&相册类",{"path":1740,"title":1741,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F04.容器项目-媒体类","容器项目&媒体类",{"path":1743,"title":1744,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F05.Emby自有授权媒体库（一）","Emby 自有授权媒体库（一）",{"path":1746,"title":1747,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F06.Emby自有授权媒体库（二）","Emby 自有授权媒体库（二）",{"path":1749,"title":1750,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F10-docker\u002F07.Adguard-Home去广告","Adguard Home 去广告",{"path":1752,"title":1753,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F01.新的篇章，软路由","新的篇章，软路由",{"path":1755,"title":1756,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F02.如何玩公网，怎么远程访问（一）","如何玩公网，怎么远程访问（一）",{"path":1565,"title":5,"date":1558},{"path":1759,"title":1760,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F04.如何玩公网，怎么远程访问（三）","如何玩公网，怎么远程访问（三）",{"path":1762,"title":1763,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F05.免费域名与远程访问","免费域名与远程访问",{"path":1765,"title":1766,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F06.没有公网如何远程访问","没有公网如何远程访问",{"path":1768,"title":1769,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F07.爱快与OpenWRT双软路由MAC地址重复问题修正","爱快与 OpenWRT 双软路由MAC地址重复问题修正",{"path":1771,"title":1772,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F08.OpenWRT扩容","OpenWRT 扩容",{"path":1774,"title":1775,"date":1558},"\u002Fblog\u002F10-技术专栏\u002F20-network\u002F09.OpenWRT旁路由一条龙教程","OpenWRT 旁路由一条龙教程",{"path":1777,"title":1778,"date":1558},"\u002Fblog\u002F20-生活碎片\u002F02.在裂缝中种满阳光","让灵魂带着光行走：在裂缝中种满太阳",{"path":1780,"title":1781,"date":1558},"\u002Fblog\u002F30-学习笔记\u002F01.Typora学习笔记","Typora学习笔记",{"path":1783,"title":1784,"date":1558},"\u002Fblog\u002F30-学习笔记\u002F02.Markdown-拓展","Markdown 拓展",{"path":1786,"title":1787,"date":1788},"\u002Fblog\u002F20-生活碎片\u002F01.拥抱生活中的光与热","拥抱生活中的光与热","2025-07-05",1791304408901]