广州总部电话:020-85564311
20年
互联网应用服务商
广州总部电话:020-85564311
20年
互联网应用服务商
请输入搜索关键词
知识库 知识库

优网知识库

探索行业前沿,共享知识宝库

HTTPS域名证书永续+免费处理

发布日期:2026-06-22 17:17:51 浏览次数: 807 来源:芊芊爸爸
推荐语
使用Cloudflare免费服务,实现HTTPS域名证书自动续期与内网穿透,轻松搭建安全访问通道。

核心内容:
1. Cloudflare免费证书的申请与自动续期配置
2. 内网穿透与Cloudflare Tunnel的对接方法
3. 带端口应用通过HTTPS公网访问的完整实现
小优 网站建设顾问
专业来源于二十年的积累,用心让我们做到更好!
前面说了好几期关于自己申请并维护免费证书的事情,这些都是每次证书到期(3个月)自己再手工续上的操作,应对复杂情况挺好,但是有的是简单的https转发就没得必要每次都这么麻烦了。
公司有很多产品都是用的cloudflare(CF)做的域名、证书和加速的管理,它单个证书最长可以申请15年有效期,并且可以做到永续处理。
注意,他是完全免费的哦,而且是自动续期。
0
这篇我们来玩一下这个场景:Windows/Linux内网穿透+CF方式的域名https访问
目的是,本地电脑和公司服务器上开发的应用可以通过 https 给公网其他电脑访问,这回算是可以完全玩明白这一套。
首先自建内网穿透需要一台公网服务器,前面有说到《自建内网穿透方案》,我们跳过这部分配置、只聊CF的配置,可以提前把内网穿透这一步准备好(但是有网友说没看懂内网穿透的配置,这个是还要再细点讲这部分么?)。
然后是将域名交给CF管理,大致操作步骤:
  1. 在CF中的域名菜单中-》添加站点-》连接域名(输入要操作的域名)-》选择计划(免费)-》前往激活;
  2. 再登录到域名提供商(比如,阿里云),到域名管理中编辑DNS服务器,然后改成下面两个CF的DNS服务器即可(注意,每个域名会不一样,别搞错了);
0
3、完成配置后,等待几分钟或者几小时,域名状态是“活动”后,进入SSL/TLS中,配置加密模式和源连接设置、选择“完整(严格)”
0
4、具体配置方式有好几个,这里介绍一下我用到的方式,但大概思路都很简单,供参考;
5、一般的方式都是基于80/433的方式默认代理了,但是大部分情况都是带端口的方式,比如frp的7000/7500、其他8080/8081…等自己应用的端口,这样就有大量的情况需要配置,我这边用到了Cloudflare Tunnel(免费)
在自己的公网服务器上执行:
# 安装 cloudflaredwget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64sudo mv cloudflared-linux-amd64 cloudflaredchmod +x cloudflaredsudo mv cloudflared /usr/local/bin/# 登录并创建 Tunnelcloudflared tunnel logincloudflared tunnel create frps-tunnel
#### 注意,这里要复制好你创建的tunnel ID,供下面配置用 #####
# 配置 config.ymlcat > ~/.cloudflared/config.yml << 'EOF'tunnel: <你的 Tunnel ID>credentials-file: /root/.cloudflared/<你的 Tunnel ID>.jsoningress:  - hostname: frps.你的域名    service: http://localhost:7500  - service: http_status:404
    # frp HTTP 代理(内网服务)  - hostname: app.你的域名    service: http://localhost:8083    originRequest:      httpHostHeader: app.你的域名
  - hostname: rancher.qqbb.ink    service: http://localhost:8083    originRequest:      httpHostHeader: rancher.你的域名EOF# 运行cloudflared tunnel run frps-tunnel
公网服务器对应frps的配置如下:
bindPort = 7000vhostHTTPPort = 8083    # ← 外网访问这个端口(可以改成其他)# 日志配置log.to = "/var/log/frps.log"log.level = "info"log.maxDays = 30# 认证令牌(客户端必须匹配)auth.method = "token"auth.token = "xxx"# Dashboard(Web管理面板,可选)webServer.addr = "0.0.0.0"webServer.port = 7500webServer.user = "admin"webServer.password = "xxx"
然后是对应Windows机器的frpc配置如下:
serverAddr = "公网服务器IP"serverPort = 7000auth.method = "token"auth.token = "xxx"# 日志配置log.to = "D:\\tools\\frp_0.68.0_windows_amd64\\log\\frpc.log"log.level = "info"log.maxDays = 30[[proxies]]name = "web"type = "http"localIP = "127.0.0.1"localPort = 8080customDomains = ["app.你的域名"]
公司服务器的frpc配置如下:
serverAddr = "公网服务器IP"serverPort = 7000
auth.method = "token"auth.token = "xxx"
[[proxies]]name = "rancher-tcp"type = "http"localIP = "127.0.0.1"localPort = 8088customDomains = ["rancher.你的域名"]requestHeaders.set.X-Forwarded-Proto = "https"
注意,我是内网暴露了8080端口给公网服务器的frps用(公司服务器是8088,同时Rancher强制了https访问、这里如上的最后一行做个配置就好了),而公网服务器的frps配置了8083端口供对外访问,最后我在Cloudflare Tunnel中配置了<你的 Tunnel ID>代理了:
  1. localhost:7000 对应 frps.你的域名
  2. localhost:8083 对应httpHostHeader的 app.你的域名
  3. localhost:8083 对应httpHostHeader的 rancher.你的域名
6、这样3个代理就配置好了,我们在CF中对应域名的DNS记录中,添加app、frps、rancher三个记录(如图2、3),目标都是Cloudflare Tunnel中配置的<你的 Tunnel ID>.cfargotunnel.com:
打完收工,我们来看下最终效果。
https:app的访问,这个就是我在Windows电脑上开发的程序,公网上直接可以访问。
0
https:rancher的访问,这个就是我在内网Linux服务器上部署的rancher程序,公网上也可以直接访问。
https:frp的访问,这个就是我frp客户端,内网Windows上的和内网服务器Linux上的frpc(2个frpc)、公网Linux上的frps信息、流量都可以看到。
证书,全程没有下载证书做任何其他配置,完全由CF管理。
理论上这套可以一直永续,不需要每隔3个月去更新证书了,而且完全免费,是不是很6啊。
- end -
芊芊爸爸
一个有趣的程序员

微信扫描二维码,关注我的公众号

优网科技,优秀企业首选的互联网供应服务商

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!

优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。


我要投稿

姓名

文章链接

提交即表示你已阅读并同意《个人信息保护声明》

专属顾问 专属顾问
扫码咨询您的优网专属顾问!
专属顾问
马上咨询
联系专属顾问
联系专属顾问
联系专属顾问
和我们在线交谈!