V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
xuegy
V2EX  ›  NAS

公网开 nginx proxy manager 是不是太作死了?

  •  
  •   xuegy · 2025 年 4 月 20 日 · 6279 次点击
    这是一个创建于 268 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网上铺天盖地的都是 nginx proxy manager 的教程,我就装了一个,确实挺方便。路由器只映射 80 和 443 ,别的都没开,nginx 这边除了一个 webdav 都限制内网访问。
    昨天 QNAP 突然给我发报警邮件说防火墙拦截的记录达到阈值,我点进去一看过去的一周内每小时都是 20+次记录。再上网一搜这个 nginx proxy manager 的安全性也存疑。约等于自己在公网上裸奔了一个星期。
    换自定义端口能有用吗?还是完全就不应该开这种东西?
    第 1 条附言  ·  2025 年 4 月 20 日
    我现在甚至怀疑网上这些 npm 的配置文章都是黑产写的。如果用 DNS challenge 的话根本就不需要开 80/433 ,非蠢即坏了。
    34 条回复    2025-04-26 09:44:01 +08:00
    PerFectTime
        1
    PerFectTime  
       2025 年 4 月 20 日   ❤️ 4
    用 caddy, 一个配置文件就解决了, 少用这种面板
    f1ynnv2
        2
    f1ynnv2  
       2025 年 4 月 20 日
    npm 问题太多了,不仅仅是安全性问题,还有很多稳定性问题,经常是某天重启一下就不行了,遇到版本升级完全看运气,不知道网上为啥这么多吹 npm 的。最后换了 caddy 。
    dodakt
        3
    dodakt  
       2025 年 4 月 20 日
    直接用 nginx 配置,比用面板方便多了。现在和前几年不一样,哪怕不会配问 AI 解决。
    lengrongec
        4
    lengrongec  
       2025 年 4 月 20 日
    如果单纯只是图方便,npm 这种东西不要直接安装在 nas 上,最好装在 arm 架构的二三十块钱的 armbian 系统上,反向代理要访问内网的 nas 端口。
    npm 直接安装在你最重要的 nas 上,小心给你戳爆
    roygong
        5
    roygong  
       2025 年 4 月 20 日 via iPhone
    手搓 Nginx 配置文件呗,那个 GUI 都是非官方的
    Yang2635
        6
    Yang2635  
       2025 年 4 月 20 日 via Android
    这些面板用的很少,个人管理自己 nginx 一般先写好两个配置,一个配置用于反代的,一个用于正常 web 的。需要用哪个就复制哪一份,简单修改一下里面域名等参数就行了
    duzhuo
        7
    duzhuo  
       2025 年 4 月 20 日
    你只映射 80 443 也会有问题吗,被扫了不可避免吧
    dilidilid
        8
    dilidilid  
       2025 年 4 月 20 日
    要高级的就手搓 nginx ,省事就用 caddy ,我不知道为啥要用 NPM 这种面板,有什么漏洞也不会有人及时修的
    AhFei
        9
    AhFei  
       2025 年 4 月 20 日 via Android
    我一开始也用的这个面板,后来试着直接用 Nginx 去反代 docker 容器之类的,其实配置也挺简单,写了个文章记录 https://yanh.tech/2024/09/tutorial-of-nginx-reverse-proxy-and-redirection/
    kekylin
        10
    kekylin  
       2025 年 4 月 20 日   ❤️ 1
    推荐直接使用 Nginx ,加个访问地理位置限制,比如限制国外 IP 访问。
    参考教程(打开链接下拉在教程汇总): https://github.com/kekylin/Debian-HomeNAS

    如果说对配置不熟悉,可以部署 Nginx-UI ,这个面板可以给 Nginx 提供可视化配置管理,还有 SSL 证书自动续签等功能,面板与 Nginx 是分离的,互相独立。
    项目地址: https://github.com/0xJacky/nginx-ui

    如果需要监控访问流量,访问来源等数据,还可以部署一个 NixVis ,轻量级 Nginx 日志分析工具,以可视化界面展示访问数据。
    项目地址: https://github.com/BeyondXinXin/nixvis
    jiayouzl
        11
    jiayouzl  
       2025 年 4 月 20 日   ❤️ 4
    明显服务器被扫了,跟 nginx proxy manager 有毛关系。
    sfdev
        12
    sfdev  
       2025 年 4 月 20 日
    跟 nginx proxy manager 没关系
    tunggt
        13
    tunggt  
       2025 年 4 月 20 日
    一小时 20 次,多吗?
    你服务器哪天不受到攻击的。
    PatchouliTC
        14
    PatchouliTC  
       2025 年 4 月 20 日
    NPM 是给完全小白用的,但凡你需要一些微调 diy 配置 NPM 就是受大罪;
    真希望用 GUI 处理不如隔壁的 nginx-ui ,至少每个配置都是可以手搓,而且类似 nginx.conf 或者需要第三方 module 你可以直接 clone git 自己写 dockerfile 去弄;
    最多就是 certbot 整的烦,可以用 nginx-certbot 这个项目,纯 nginx ,就是加了个读取配置文件自动识别 https 然后帮你去自动续签
    最后或者就是用 caddy
    bao3
        15
    bao3  
       2025 年 4 月 20 日
    我推荐你一个安全的方法,用虚拟机支持群晖,然后在虚拟群晖,系统自带了安全可靠的反向代理,也可以用群晖来申请证书。这样直接就实现同一个端口,绑定 N 个域名,然后 https 访问。

    这个方式安全稳定,可靠。
    MarkP
        16
    MarkP  
       2025 年 4 月 21 日
    个人愚见,如果一定要用这种 nginx 管理器的话,还不如用宝塔或者 1panel 之类的。
    canitnamechange
        17
    canitnamechange  
       2025 年 4 月 21 日 via Android
    还好,网上更有些部分游戏服务器搭建教程是直接让你开全端口(or 关闭防火墙)
    alfawei
        18
    alfawei  
       2025 年 4 月 21 日
    为何你还能开 80443 端口? 这个才是关键不是 npm 的问题
    lizhien
        19
    lizhien  
       2025 年 4 月 21 日
    个人觉得那几个 web ui 都不好用,不如自己手写配置文件
    jpyl0423
        20
    jpyl0423  
       2025 年 4 月 21 日
    我就公网开 NPM 啊,有啥问题,以前也手搓 nginx 配置,自建服务太多了还是图形化的方便
    he1293024908
        21
    he1293024908  
       2025 年 4 月 21 日
    公网就尽量别用 80 和 443 吧,感觉被扫的概率会比自定义端口大很多
    yuhuai
        22
    yuhuai  
       2025 年 4 月 21 日
    第一,npm 允许你自定 Nginx Configuration
    第二,如果你把面板暴露在外是你的问题
    第三,就算你开了 80 和 443 ,这是你内部 Nginx 主机的端口,而不是外部映射端口,如果你外部映射端口有本事开了 80 和 443 ,那也是你的问题
    第四,如果你非要跟我们谈安全,你就不要谈什么公网映射端口的问题,直接 ddns ,只允许 vpn 连回专用网,做好内部隔离才是真的
    grady8866
        23
    grady8866  
       2025 年 4 月 21 日
    可以去看 npm 官方文档,对映射的端口有说明。有教程说 80/443 是因申请证书而必须映射出来的吗?“如果用 DNS challenge 的话根本就不需要开 80/433 ,非蠢即坏了。”如果不映射 npm 容器的 80 或 443 端口,客户端应该访问哪个端口来访问经过反代的服务呢?感觉楼主部署时并不清楚所映射端口的具体作用。

    - '80:80' # Public HTTP Port
    - '443:443' # Public HTTPS Port
    - '81:81' # Admin Web Port
    neptuno
        24
    neptuno  
       2025 年 4 月 21 日
    不要开放端口就好了,走内网访问
    SakuraYuki
        25
    SakuraYuki  
       2025 年 4 月 21 日
    80 ,443 没被封?你那运营商不管的吗
    TimPeake
        26
    TimPeake  
       2025 年 4 月 21 日
    ai 未流行之前,这种可视化 NG 配置面板确实非常有用。但是现在看来....emmm, 你要是能上手 可视化的配置 大大概率也是能看懂 ng 的配置的,再加上 ai 的配置输出,综合上手成本甚至不如 ng....配置也更灵活
    Zhousiru
        27
    Zhousiru  
       2025 年 4 月 21 日
    也可以试试 Traefik
    xuegy
        28
    xuegy  
    OP
       2025 年 4 月 21 日 via Android
    @alfawei
    @SakuraYuki
    墙外运营商不封 80 443
    alfawei
        29
    alfawei  
       2025 年 4 月 21 日
    @xuegy 那就更容易被人家扫了,你看人家网站都是配置防火墙的
    bronyakaka
        30
    bronyakaka  
       2025 年 4 月 22 日
    nginx 直接写配置也不麻烦。。。别用 caddy
    zyp38263547
        31
    zyp38263547  
       2025 年 4 月 22 日
    说 npm 有安全问题的。如果不把管理端口开放外网访问,实际上 80/443 有的安全性漏洞,也是来自 nginx 的。
    zyp38263547
        32
    zyp38263547  
       2025 年 4 月 22 日
    无论如何,不需要公网访问的所有页面都不要暴露在公网。我看了下“CVE-2023-27224”、“CVE-2024-39935”、“CVE-2024-46256”、“CVE-2024-46257”,就是大家说的 npm 安全性问题,这几个漏洞是来自 npm 的管理页面的。
    qinqiuxu
        33
    qinqiuxu  
       2025 年 4 月 23 日
    看到评论区提到 NPM ,一直以为说的是 nodejs package manager ,我想前文也没讲到这个啊。
    再看一会儿才知道是 nginx proxy manager 的缩写。
    Achophiark
        34
    Achophiark  
       2025 年 4 月 26 日
    为什么没有人说最近如火如荼的 pangolin
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   948 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:42 · PVG 04:42 · LAX 12:42 · JFK 15:42
    ♥ Do have faith in what you're doing.