峰回路转,终于设置外网https访问群辉成功
创作立场声明:按图索骥,懂了不少脑筋写了这篇文章,希望抛砖引玉,共同进步。
折腾理由
迅雷下载宝APP自从android P 发布后就报错,迅雷官方早就不更新APP了。寻思自己弄个nas,省事省心。4月初看到蜗牛星际的矿难,犹豫再三(知道需要折腾)入了一台,没想到翻车了——开机不亮 ,还好咸鱼退货成功 。然后又购入同款一台,这次成功点亮了,泪流满面啊 。
翻了翻大妈的文章,黑群辉安装3617什么的好复杂,918+型号只有一个文件,直接写入U盘就好了。详情不表,有了NAS,就不得不涉及到外网访问。我记下这折腾外网访问的事,也让大家少走几步弯路。
曲折过程(一)
多年之前玩openwrt,在花生壳注册过一个DDNS,那时候还是ADSL拨号获得的动态外网地址。后来换成移动变成大内网2年,已经弃用了,现在联通100m宽带拨号获得的ip地址112开头,看上去也不像外网地址。于是又开始研究Ngrok和Frp内网穿透的事,要么自建VPS要么购买现有服务,代码看得不甚理解,就放弃了。某天早起和联通客服扯了一回内网改外网ip,第二天客服回复确认还是动态外网ip。 好吧,那么花生壳走起。
openwrt 里面ddns自定义url设置如下即可,
"oray.com" "http://[USERNAME]:[PASSWORD]@ddns.oray.com:80/ph/update?hostname=[DOMAIN]"
愉快的按照别人原创的内容,蹲点撸了花生壳5发布前的羊毛——内网穿透,省了6元 ,虽然用不上 。
虽然外网访问黑群辉成功,但是浏览器的不安全访问提醒怎么看都不舒服。一事不劳二主,花生壳开个https加密吧,然后一查,花生壳https加密服务要价88元一年 ,这让我等白菜党怎么能忍。加上某天收到短信,花生壳要求实名认证! 我就是做个家用NAS的外网访问,不对外服务,认证个毛。没有张屠夫,还必须吃带毛猪?DDNS服务又不只有一家提供。
国内的基本上都要实名认证,如阿里、腾讯等。有个原创文使用nat123外网访问的,我想借此问一下docker里面的mono不用了怎么删不掉啊?
曲折过程(二)
所以直接按照openwrt DDNS服务商列表去看国外的提供商。最后发现freedns无广告,很多*级公共域名可以免费蹭建二级域名。于是愉快的注册了一下撸了一个,注册使用教程什么的自行百度,很全。然后二级域名里面设置一下Type:A的Destination地址,使用路由器wan口拨号获得的地址即可,最后Openwrt里在luci-ddns把freedns的用户名和密码填入即可。不到5分钟时间DDNS访问即生效了。
然后群辉里面申请Let's Encrypt免费SSL证书,因为网络服务器屏蔽80端口,所以用dsm无法正常申请。但是国外有大神分享了用命令行申请的方法,于是愉快地copy&paste,并按照freedns的设置操作。直到弹出错误提示"Note that you cannot use automatic DNS validation for FreeDNS public domains"
什么?不支持freedns的二级公共域名申请证书!我的内心仿佛被一万匹**奔过。
曲折过程(三)
没有开https,上网感觉就像是在裸奔。怎么办,花钱申请*级域名吗?大妈里好多原创推荐的阿里、腾讯注册要实名,提供的*级域名要花钱。有没有不要钱的*级域名呢?答案是有的!而且到期前可以免费续!
这家就是freenom,介绍看这里。首页搜索想注册的域名,然后会有免费的选项供你选择。.ml、.tk等等。注册内容要留手机号,怕瞎填不通过,所以还是留了自己的。然后愉快的获得了免费一年的*级域名。里面解析服务转到freedns,不使用freenom的。如下图:
到freedns设置左侧domains,manage,跳转到subdomains,freedns可以设置5条二级域名,把不需要的删去,还是设置一下Type:A的Destination地址就可以了。但是这次地址解析更换的时间比较久,刷了10分钟还是在荷兰,等睡一觉起来发现解析正确了。
域名到期前注册邮箱会收到提醒邮件。免费再续一年就是。如果域名提前被freenom回收另当别论。
曲折过程(四)
有了*级域名,这下可以申请Let's Encrypt免费SSL证书了。按照教程继续copy&paste,然后无错结束。点开群辉控制面板,提示无法连接,然后发现群辉自带的证书没了,也没有新申请下来的证书,浏览器假死。还好关闭浏览器重新登入,点了初始化时出现的几个框框,群辉证书又出现了。
按照另一种办法重新操作一遍,因为证书已经申请好了,所以要使用--force 参数强制更新一下。这下控制面板里的群辉证书被替换为Let's Encrypt证书,https访问群辉提示安全了。
我把可用的代码贴一下,大家根据实际情况修改就行了。
使用putty连接内网的dsm ssh端口,如:192.168.1.3:22,用户名和密码是你登陆dsm时设置的第一个用户。然后输入:
$ sudo -i #提升到root权限,密码还是你登陆的密码
$ wget https://github.com/Neilpang/acme.sh/archive/master.tar.gz
$ tar xvf master.tar.gz
$ cd acme.sh-master/
$ ./acme.sh --install --nocron --home /usr/local/share/acme.sh --accountemail "email@gmailcom" #用你的邮箱替换掉""里的邮箱。
教程要求关闭putty重连(不知道为什么)
$ export FREEDNS_User="username" #填写你在freedns注册的用户名
$ export FREEDNS_Password="password" #填写你在freedns注册的密码 $ export CERT_FOLDER="$(find /usr/syno/etc/certificate/_archive/ -maxdepth 1 -mindepth 1 -type d)"
$ # Make sure $CERT_FOLDER is only one name. Else you have to manually specify the folder.
$ export CERT_DOMAIN="your-domain.tld" #把""内的替换为你申请的*级域名 $ export CERT_DNS="dns_freedns"
$ ./acme.sh --issue -d "$CERT_DOMAIN" --dns "$CERT_DNS"
--cert-file "$CERT_FOLDER/cert.pem"
--key-file "$CERT_FOLDER/privkey.pem"
--fullchain-file "$CERT_FOLDER/fullchain.pem"
--capath "$CERT_FOLDER/chain.pem"
--reloadcmd "/usr/syno/sbin/synoservicectl --reload nginx"
--dnssleep 120
饶了这么一圈,终于无料安全外网访问群辉了。证书更新因为还没到期,所以暂时写不了。教程里有,请大家自行查看。
写在后面
目前moments app 备份没问题,但是图片预览看不到,以前没有https访问时是看得到的。还需要摸索摸索什么原因。
Philboy
校验提示文案
wycs45
校验提示文案
lhac
校验提示文案
darcylu
校验提示文案
Vinson-Zhang
校验提示文案
震宝宝金小坏
校验提示文案
拉斯基
校验提示文案
julietibm
校验提示文案
[已注销]
校验提示文案
一咕一咕
校验提示文案
HoneyJone
校验提示文案
大魔导士比比
校验提示文案
霏凡
校验提示文案
zhidemaiJames
校验提示文案
Huzour
校验提示文案
杨超越真是太好了
校验提示文案
Waydeen
校验提示文案
xiqishow
校验提示文案
guangzir
校验提示文案
阳晞粑粑
校验提示文案
KennyYoung
校验提示文案
omegame
校验提示文案
POKO哑虎呸呸
校验提示文案
POKO哑虎呸呸
校验提示文案
觅凤的梧桐
校验提示文案
Ai_GuiGui
校验提示文案
Converge
校验提示文案
StanleyChen
校验提示文案
大大灰机
校验提示文案
值友7079381213
校验提示文案
霏凡
校验提示文案
NTEVE
校验提示文案
葱头小菜包
校验提示文案
Filter_Luo
校验提示文案
Vinson-Zhang
校验提示文案
Named小李
校验提示文案
剁手嘛
校验提示文案
大魔导士比比
校验提示文案
darcylu
校验提示文案
HoneyJone
校验提示文案