服务器+免费域名的SSL/TLS全端加密流程分享

在对比国内各种云的价格时偶然发现贵站,对站里的干货惊为天人,于是在学习中蹲到一个印度小鸡和几个免费域名,正好用来部署octopus做api个人聚合。

但直接用http明文交互过于危险,免费域名也申请不到证书(因为上级域名的名额被用光了),所以摸索出一个通过cloud flare隧道实现浏览器到cf到服务器的加密方案,以下是具体步骤:

  1. 把免费域名托管到cf,选择免费计划,在申请域名的网站中把nameservers改为cf生成的nameservers,等待域名状态变成活动,这一步是通过cf的代理实现浏览器到cf的加密。

  2. 打开cf主页的Zero Trust,再打开网络的连接器,创建隧道,选择cloudflared,给隧道取个名,就可以看到图2的连接器安装教程了,本人的系统是alpineLinux没有适配的,所以把指令放在下面。


wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
mv cloudflared-linux-amd64 /usr/bin/cloudflared
chmod +x /usr/bin/cloudflared
cloudflared service install [eyJh开头的令牌]
rc-service cloudflared start
rc-update add cloudflared default
  1. 在服务器安装完成后,页面底下会出现连接器已连接,点击下一步,开始发布应用程序路由,子域写服务关键词,主域选域名,服务写http://localhost:开放端口,保存就行,这一步会在DNS记录创建一条规则,用来通过隧道加密cf到服务器,保持代理开启。

  2. 回到cf主页,点击SSL/TLS的概述,把加密模式改为完全(严格),让浏览器到cf到服务器都验证证书,cf会自动颁发证书,不用自己申请(太伟大了cf :smiling_face_with_three_hearts:)。

  3. 用https访问隧道中设置的路由,可以看到地址栏左边已经带锁了,至少是不用裸奔了,cf好用喵。

之后打算部署个云剪切板+文件中转的程序,试了file browser感觉用着不够快捷,但先凑合着用吧,如果大佬有更好用的欢迎回复告知,感谢感谢 :sparkling_heart:
以上。(等待ld账号解封的第1天 :sob:

56 个赞

买个纯数字xyz也没多贵,随便买个呗

7 个赞

之前买了个挺贵的域名但没用上,好像是国内云上域名要备案,现在要用了结果早过期了 :cry:,看以后是否刚需吧

3 个赞

谢谢分享

6 个赞

建议买一个便宜域名,一个域名就能用很多二级域名搞项目,还是很方便的

6 个赞

原来如此,学到了

3 个赞

感谢分享教程 :folded_hands:

2 个赞

感谢分享

4 个赞

ZeroSSL不是说不怎么限制吗? 也不能申请吗…?(问了下ai说它家更倾向账号级限制)
Let's Encrypt的话确实没办法, 毕竟这玩意似乎基本不拉psl… 所以额度是共享的, 薅的免费域名即使进psl了并且cf都拉列表了还是不能申请:upside_down_face:

(而且其他家的ssl应该也可以申请叭?比如google,据说是拿gcp账号用api免费申请的. cloudflare提供的主ssl通常也是这个)

6 个赞

感谢分享

4 个赞

先感谢佬分享教程。 :laughing:
CF大善人帮了我很多! 感谢大善人! :smiling_face_with_three_hearts:

4 个赞

挺好的,用 cf tunnel 的话可以把绝大部分端口入向关掉了,cf tunnel 在国外还是挺好用的

3 个赞

不错,点赞支持一个,感谢佬友的分享。

3 个赞

进来学习一下,点赞支持。

4 个赞

感谢分享~

3 个赞

感谢分享

6 个赞

谢谢分享 :hand_with_index_finger_and_thumb_crossed:

7 个赞

感谢分享

4 个赞

感谢分享!

4 个赞

楼上说的把证书申请机构从默认的Let’s Encrypt换成ZeroSSL是正解,楼主可以试一下
很简单的,就去ZeroSSL官网注册一个账号,生成一个EBA凭证
然后用Certbot申请证书时指定ZeroSSL的服务器地址,在参数附上你的EAB凭证就可以了。

8 个赞