You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用运营商静态IP搭建树莓派DNS及部署Spring Boot项目

树莓派搭建个人项目环境解决方案

1. 静态IP到手后,路由器的必要配置

  • 端口转发(核心):登录路由器管理后台,找到「端口转发」/「虚拟服务器」模块,添加两条规则:
    • 外部端口80 → 内部端口80,目标IP填树莓派的内网IP(如192.168.3.10),协议选TCP
    • 外部端口443 → 内部端口443,目标IP同上,协议选TCP
  • 验证WAN口状态:在路由器「WAN口设置」中确认已获取到运营商提供的静态公网IP,确保不是动态IP
  • 防火墙放行:如果路由器有自带防火墙,需允许外部对80、443端口的访问请求,避免被拦截

2. 仅Certbot+Spring Boot能否实现HTTPS?

可以实现,但维护成本略高,具体步骤:

  • 在树莓派上安装Certbot,生成Let's Encrypt证书(以域名mydomain.com为例):
    sudo certbot certonly --standalone -d mydomain.com -d console.mydomain.com
    
  • 证书默认存放在/etc/letsencrypt/live/mydomain.com/,包含fullchain.pem(证书链)和privkey.pem(私钥)
  • 将PEM格式证书转换为Spring支持的PKCS12格式:
    openssl pkcs12 -export -in /etc/letsencrypt/live/mydomain.com/fullchain.pem -inkey /etc/letsencrypt/live/mydomain.com/privkey.pem -out keystore.p12 -name tomcat
    
  • 在Spring Boot配置文件application.yml中启用SSL:
    server:
      port: 443
      ssl:
        key-store-type: PKCS12
        key-store: classpath:keystore.p12
        key-store-password: 你设置的密码
        key-alias: tomcat
    
  • 注意:Let's Encrypt证书90天过期,需配置Certbot自动续签,续签后要重启Spring应用才能加载新证书。更推荐搭配Nginx反向代理,Nginx可自动加载续签后的证书,无需重启应用。

3. 子域名创建与单树莓派多服务共存

子域名创建方式

方式一:用域名服务商的DNS解析(推荐,省心)

登录你的域名服务商后台(如阿里云、腾讯云),进入「DNS解析管理」,添加A记录:

  • 主机记录:填子域名前缀,比如console、dns
  • 记录类型:A
  • 记录值:你的静态公网IP
  • TTL:选默认值即可

方式二:树莓派自建DNS服务器(适合自定义需求)

  • 在树莓派上安装Bind9等DNS服务软件,配置主域名解析区域,添加子域名的A记录指向树莓派内网IP
  • 登录域名服务商后台,将域名的NS记录修改为你的树莓派公网IP,让全球DNS服务器指向你的树莓派DNS

单树莓派能否完成所有操作?

完全可以。单台树莓派可同时承载:

  • Spring Boot应用运行
  • Certbot证书生成与自动续签
  • 自建DNS服务器(如Bind9)
  • 反向代理(如Nginx,用于多子域名转发、简化HTTPS配置)

若自建DNS服务器,需在路由器端口转发中开启53端口(UDP+TCP),允许外部访问你的DNS服务。


内容的提问来源于stack exchange,提问作者Mohammad Asgari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 16:14:52