[{"data":1,"prerenderedAt":90},["ShallowReactive",2],{"navigation":3,"post-\u002Fposts\u002F2016\u002Fnas":20,"surroundPosts-\u002Fposts\u002F2016\u002Fnas":77},[4,8,12,16],{"title":5,"path":6,"stem":7},"首页","\u002F","00.index",{"title":9,"path":10,"stem":11},"文章","\u002Fposts","01.posts",{"title":13,"path":14,"stem":15},"动态","\u002Fmoments","02.moments",{"title":17,"path":18,"stem":19},"关于","\u002Fabout","09.about",{"id":21,"title":22,"body":23,"class":57,"cover":57,"coverSize":57,"date":58,"description":29,"draft":59,"extension":60,"hideComments":59,"location":57,"meta":61,"navigation":62,"path":63,"readingTime":64,"seo":69,"sitemap":70,"stem":71,"tags":72,"time":57,"weather":57,"__hash__":76},"posts\u002Fposts\u002F2016\u002F20161121.nas.md","自建 NAS 及 DDNS",{"type":24,"value":25,"toc":53},"minimark",[26,30,33],[27,28,29],"p",{},"众所周知的原因，前段时间 360 云盘也倒下了，之前大部分照片、电影资源都放在 360 云盘上。由于国内的环境，感觉第三方云盘的可靠程度还不如自己建个 NAS。前端时间研究了硬件方案，今天研究了下外网访问的方案。",[27,31,32],{},"固定 IP 肯定是拉不起，太贵了，国内运营商太黑心。只能通过 DDNS，但花生壳这种我也不想用，以前试用过，速度太慢。既然是程序猿，还是自己来吧。具体方案如下：",[34,35,36,40,50],"ol",{},[37,38,39],"li",{},"阿里云的云解析 DNS，升级付费版，将最低 TTL 值拉到 1 秒，其余都拉成最低配置，一年 40.8 块钱，完全可以接受。",[37,41,42,43,49],{},"在自己的阿里云服务器上搭建一个小站点，用于返回来访请求的公网 IP 地址。没有外网服务器的，可以利用 ip138 的服务来做，",[44,45,46],"a",{"href":46,"rel":47},"http:\u002F\u002Fcity.ip138.com\u002Fip2city.asp",[48],"nofollow","。",[37,51,52],{},"做一个小应用，跑在 NAS 上，每秒向步骤 2 中的站点请求获取 NAS 的外网 IP，并通过阿里云云解析 DNS 的 api 接口，更新域名的 IP 地址，并记录，如果下次请求 IP 不变则跳过，IP 变化了则更新。做好日志，运行一段时间之后看下电信的动态 ip 更换有没有规律，可以适当调整获取外网 IP 的频率。",{"title":54,"searchDepth":55,"depth":55,"links":56},"",2,[],null,"2016-11-21",false,"md",{},true,"\u002Fposts\u002F2016\u002Fnas",{"text":65,"minutes":66,"time":67,"words":68},"2 min read",1.785,107100,357,{"title":22,"description":29},{"loc":63},"posts\u002F2016\u002F20161121.nas",[73,74,75],"日记","HomeLab","NAS","o89oM2G7aaUqgSCvlsy1UKOAhrlWTSzwd823xUlPC2Q",[78,84],{"title":79,"path":80,"stem":81,"date":82,"description":83,"children":-1},"Entity Framework Core SQLite provider 向已存在的表中添加外键","\u002Fposts\u002F2016\u002Fasp-net-core-ef-sqlite-add-foreign-key-to-exist-table","posts\u002F2016\u002F20161208.asp-net-core-ef-sqlite-add-foreign-key-to-exist-table","2016-12-08","SQLite 本身不支持向已创建的表中添加外键，类似的限制还有很多，比较蛋疼，具体可以参见SQLite Limitations。",{"title":85,"path":86,"stem":87,"date":88,"description":89,"children":-1},"解决阿里云 CDN 回源 https 返回 503 错误的问题","\u002Fposts\u002F2016\u002Faliyun-cdn-not-support-sni","posts\u002F2016\u002F20161109.aliyun-cdn-not-support-sni","2016-11-09","最近打算把www.monkeyrun.net改成全站 https，使用的Let’s Encrypt的证书。然而在设置阿里云 CDN 的时候，阿里云 CDN 回源一直返回 503 错误，发工单，来来回回经过整整两天，终于把问题解决。容我娓娓道来。",1777579148295]