欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Nginx Proxy Manager

Nginx Proxy Manager — 用图形界面轻松管理 Nginx 反向代理,告别手写配置的繁琐。

如果你跟我一样,是个喜欢自建服务但又对 Nginx 配置文件感到头疼的人,那 Nginx Proxy Manager(简称 NPM)绝对能让你眼前一亮。它不是一个传统意义上的“面板”,更像是一个贴心的管家——你只需要在网页上点几下,就能搞定域名转发、SSL 证书、访问控制这些操作,完全不用碰那些让人眼花缭乱的 server 块和 location 指令。

这个工具到底能干什么?

简单说,Nginx Proxy Manager 把 Nginx 最核心的反向代理功能包装成了一个 Web 界面。你有一台 VPS 或 NAS,上面跑了几个 Docker 容器(比如 Jellyfin、Nextcloud、Home Assistant),每个服务都占一个端口。以前你要么记端口号,要么手动写 Nginx 配置来绑定域名。现在有了 NPM,你只需要:

  • 添加一个代理主机(Proxy Host),填上域名和内部服务的 IP:端口
  • 勾选“SSL”选项,自动申请 Let‘s Encrypt 证书
  • 保存,生效

整个过程不超过 30 秒。它还支持流式代理(比如 WebSocket)、自定义 404 页面、访问列表(IP 白名单/黑名单)、重定向规则等等。对于家庭服务器玩家、小型团队运维、或者刚接触反向代理的新手来说,这几乎是零门槛的解决方案。

下载方式

NPM 官方推荐通过 Docker 部署,这也是最省心的方式。项目主页在 GitHub 上,但建议直接访问官方文档获取最新版本:

  • Nginx Proxy Manager 官网
  • GitHub 仓库

如果你不想用 Docker,官方也提供手动安装脚本,但说实话——Docker 版本最稳,升级也最方便。

安装方法(Docker Compose 版)

假设你已经装好了 Docker 和 Docker Compose。新建一个文件夹,比如 npm,在里面创建 docker-compose.yml:

version: '3.8'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'      # HTTP
      - '81:81'      # 管理面板端口
      - '443:443'    # HTTPS
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

注意:管理面板默认跑在 81 端口,所以部署后记得在防火墙放行 80、81、443。然后执行:

docker compose up -d

等镜像拉取完成,打开浏览器访问 http://你的IP:81,首次登录用默认账号:

  • 邮箱:admin@example.com
  • 密码:changeme

登录后它会强制你修改密码和邮箱,按提示操作就行。

基础使用教程

1. 添加第一个反向代理

假设你本地有个服务跑在 192.168.1.100:8096(比如 Jellyfin),你想通过 jellyfin.yourdomain.com 访问。

  • 在左侧菜单点击 Hosts → Proxy Hosts
  • 点右上角 Add Proxy Host
  • Domain Names 填 jellyfin.yourdomain.com
  • Scheme 选 http(如果内部服务支持 HTTPS 就选 https)
  • Forward Hostname / IP 填 192.168.1.100
  • Forward Port 填 8096
  • 下面 Cache Assets 和 Block Common Exploits 建议勾上
  • 切换到 SSL 标签,勾选 Request a new SSL Certificate
  • 填你的邮箱(用于 Let‘s Encrypt 通知),勾选 Force SSL 和 I Agree
  • 点 Save

等几秒钟,证书自动签发,你的域名就能通过 HTTPS 安全访问了。

2. 管理 SSL 证书

如果你有多个子域名,最好申请一个泛域名证书(比如 *.yourdomain.com)。在 SSL Certificates 里点 Add SSL Certificate → Let’s Encrypt,填域名 *.yourdomain.com,DNS 验证方式选 DNS Challenge,然后根据你的 DNS 提供商(Cloudflare、阿里云等)配置 API 令牌。这样所有子域名都能共用证书,不用每个单独申请。

3. 设置访问控制

如果某个服务只允许内网或特定 IP 访问,可以在 Access List 里创建规则。比如添加一个白名单,只允许 192.168.1.0/24 和你的家庭公网 IP,然后在代理主机的 Advanced 标签里勾选对应的 Access List。这样外人访问会直接返回 403,比改防火墙规则更灵活。

进阶技巧

1. 自定义 Nginx 配置

NPM 允许你在每个代理主机里插入自定义 Nginx 配置段。比如你需要增加上传文件大小限制,可以在 Advanced 标签的 Custom Nginx Configuration 里写:

client_max_body_size 500M;

或者你需要传递真实客户端 IP 给后端服务:

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

这些配置会直接合并到生成的 Nginx 配置里,不会影响其他主机。

2. 使用 Stream 功能转发 TCP/UDP

NPM 不止能做 HTTP 代理,还支持 TCP/UDP 流代理。在 Streams 菜单里,你可以把非 HTTP 协议(比如 SSH、MySQL、RDP)通过域名或端口转发到后端。比如你想让外部通过 ssh.yourdomain.com:2222 连接内网的 22 端口,只需要添加一个 Stream,协议选 TCP,转发到内网 IP:22,然后设置 SSL 证书即可。注意流代理需要 NPM 版本 2.10.0 以上。

3. 配合 Docker 网络

如果你把 NPM 和其他服务放在同一个 Docker 网络里,可以用容器名代替 IP 地址。比如在 docker-compose.yml 里定义网络:

networks:
  proxy:
    external: true

然后其他服务的 compose 文件也加入这个网络,代理主机里填 容器名:端口 即可。这样即使容器重启 IP 变了,代理也不会断。

4. 批量导入导出

NPM 支持通过 API 管理配置。如果你有几十个代理要迁移,可以调用它的 REST API(默认在 81 端口,路径 /api/)。官方文档有详细的 API 说明,可以用 Python 或 curl 脚本批量导出/导入。对于重度用户来说,这比在界面里一个个点要高效得多。

一些踩坑提醒

  • 端口冲突:如果你宿主机上已经跑了 Nginx 或者 Apache,记得先停掉,否则 80/443 端口会被占用。
  • 防火墙:部署后如果访问不了管理面板,检查 81 端口是否放行。建议把 81 端口仅绑定到内网 IP(在 docker-compose 里写 127.0.0.1:81:81),然后用 NPM 自己代理管理面板到域名。
  • 证书续期:Let‘s Encrypt 证书 90 天过期,NPM 会自动续期,但前提是 80 端口必须能被外部访问(用于 HTTP 验证)。如果你只有 443 端口开放,记得用 DNS Challenge 方式申请证书。

总的来说,Nginx Proxy Manager 是我用过最省心的反向代理工具。它没有复杂的配置,没有晦涩的术语,就像给 Nginx 穿上了一件图形化的外衣。如果你还在为域名转发和 SSL 证书发愁,花 10 分钟装一个,你会发现世界清净多了。

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消