惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Forbes - Security
Forbes - Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
F
Fortinet All Blogs
B
Blog
T
The Blog of Author Tim Ferriss
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
Y
Y Combinator Blog
Microsoft Azure Blog
Microsoft Azure Blog
L
LangChain Blog
Recent Announcements
Recent Announcements
U
Unit 42
Martin Fowler
Martin Fowler
M
MIT News - Artificial intelligence
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
The Register - Security
The Register - Security
Recorded Future
Recorded Future
C
Check Point Blog
V
V2EX
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
Google DeepMind News
Google DeepMind News
酷 壳 – CoolShell
酷 壳 – CoolShell
F
Full Disclosure
小众软件
小众软件
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
爱范儿
爱范儿
P
Proofpoint News Feed
罗磊的独立博客
量子位
D
Docker
博客园_首页
D
DataBreaches.Net
Project Zero
Project Zero
博客园 - 司徒正美
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - Franky
Security Latest
Security Latest
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
N
Netflix TechBlog - Medium
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 三生石上(FineUI控件)
H
Hackread – Cybersecurity News, Data Breaches, AI and More
大猫的无限游戏
大猫的无限游戏

皮普的数字花园

懒猫微服 - 用 UpSnap 实现远程群晖NAS 开机 使用 Surge Ponte 轻松实现外网访问家里设备&服务 在飞牛OS挂载本地的Unraid文件夹 群晖NAS挂载Unraid文件夹 弄懂FRP内网穿透的 HTTP 类型代理 2024 - 向阳而生,逆光前行 私有化部署LobeChat的数据库版本 电信收回了我的公网ipv4,如何外网访问群晖NAS?Frp 内网穿透!效果媲美直连! Adobe photoshop运行弹窗This non-genuine Adobe app has been disabled,解决办法 2023 年终总结 My Default App 2023 我的默认应用 2023 腾讯云域名转移到Cloudflare 黑群晖升级到正版白群(全程记录) 买了一张美国原生实体手机卡:PAYGO卡 如何做行业调查 Debian ssh安全设置 Debian系统常用命令 买了1张0月租的英国手机卡:GiffGaff卡 关于NAS RAID的解释【白话版】【小白也能懂】
如何更安全地访问Homelab服务
Pipu · 2025-04-06 · via 皮普的数字花园

855

前言

今年给自己组装了一台 DIY 的 All in one 服务器,底层系统是Unraid(详情可查看 2024年终总结 ),在此期间,我开始将云服务器的私有化服务,迁移到HomeLab,如何让外网访问更安全,是我一直考虑的问题,现在就完善它。

前提

家庭服务器的私有化服务和nginx proxy manager 部署在同一台服务器。

如私有化服务和nginx proxy manager 在不同服务器也可以,道理也是一样。

实现效果

✅ 域名访问

❌ IP+端口

只有匹配的域名的才会转发请求到服务器端口(只有使用域名才能访问到内网部署的服务),如果别人通过扫描公网IP找到我这个端口是打开的,而且他的不是https请求,会被nginx服务器拒绝。

本文假设

  • 域名是example.com,域名服务商在腾讯云
  • Nginx Proxy Manager的https的访问端口为11200
  • 家庭宽带为动态公网IP

项目的 Docker Compose 端口配置

内网的服务器,我一般通过docker compose 部署 端口要设置成“允许指定局域网 IP 访问”,端口号要这样写:本机IP+端口

假如1panel的本机IP为192.168.10.3,可以这样配置:

ports:
- 192.168.10.3:12900:80 

解读

  • 将容器内部的 80 端口映射到宿主机 192.168.10.2 的 12900 端口上
  • 只有来自 192.168.10.2 这个 IP 地址的 12900 端口的连接才会被转发到容器

重点回顾

要知道本机的IP,并且将它写到docker compose.yml文件里

顺便了解下

不同的端口配置,这次我们使用的是允许指定局域网 IP 访问

#只允许本机访问 
ports: - 127.0.0.1:12900:80 

# 允许指定局域网 IP 访问
ports: - 192.168.10.2:12900:80 

# 允许所有网络接口访问(包括公网,如果有的话)
ports: - 12900:80

Nginx Proxy Manager反向代理配置

  • 域名绑定到内网的服务 —> 192.168.10.12:12900
  • 申请SSL证书,并且打开 强制跳转到https

1115

1116

1117

自动获得公网IP

1panel 安装 DDNS-GO,实现自动获取动态的公网 IPv4 或 IPv6 地址(因为家宽公网IP都是动态的),并解析到对应的域名。

1118

1119

此时,已实现效果:一但公网IP发生变动,就会自动地、及时地更新域名解析。

完成

此时,可通过abc.example.com:11200访问服务了!

温馨提示:公网ipv6不需要打开端口,如果是公网ipv4,就需要设置端口转发。

如果此时通过 ipv6+端口 或者ipv4+端口,是访问不了内网的服务的,这大大提高了安全性。