【请教】Docker 项目如何禁止端口访问 只保留域名访问

Yuna 2026-07-24 11:15 1

例如:我有台 VPS IP 为 1.111.1111.11

我用 Docker 跑了一个项目 端口为 9999

访问 1.111.1111.11:9999可以打开项目

我将该端口反代到 [email protected]


如果设置才能只允许域名访问呢?

不让访问9999端口


谢谢各位大佬指导 ^-^

最新回复 (21)
  • 3az7qmfd 07-24 11:16
    1

    docker 做不到,得加 nginx、caddy、traefik

  • Kingrz 07-24 11:16
    2

    暴露在127.0.0.1再反代不就好了

  • zcp1997 07-24 11:17
    3

    监听127.0.0.1 这个东西不是问ai就行吗

  • cetaceang 07-24 11:17
    4

    port 只监听127.0.0.1再用nginx反代

  • 宗山 07-24 11:17
    5

    最简单的保持docker不变,然后ufw禁止9999入站。

    完善点的就是docker设置不对外映射端口,然后创建一个network,和你的反代容器走同一个network,这样反代里写 container_name:9999就行了。

    中间态就是映射到本机127.0.0.1:9999,反代写本地的9999端口。

  • hututu233 07-24 11:19
    6

    你用的什么反代,如果反代也是docker启动的可以放在同一个docker网络里,不要映射端口到宿主机就行了。也可以只映射到127.0.0.1:port,反代127.0.0.1:port

  • Yuna 楼主 07-24 11:20
    7

    @zcp1997 #3 AI把我教姥姥家了 😵💫

  • youarenothack 07-24 11:24
    8

    用 cf 弄个脚本就行了,非常简单

  • dayao 07-24 11:25
    9

    自己反代一下本机端口

  • kuusei 07-24 11:26
    10
    ...
    cpa-manager-plus:
    container_name: cpa-manager-plus
    ...
    networks:
    - npm-internal-gw
    networks:
    npm-internal-gw:
    external: true

    这样就行了,然后在 npm 上可以直接用容器名,最方便的方式


    npm-internal-gw 这个网络在 npm 的 docker 建


  • davelee 07-24 11:31
    11

    nginx和你的项目都起容器,它们相互走docker network,不用暴露9999,机器要放开80/443端口就能访问

  • qwaz130258 07-24 11:32
    12

    内部暴露走反代不就好了

  • Yoga 07-24 11:32
    13

    直接Dockercompose里面127.0.0.1:9999:[容器内端口]

    然后反代也填127.0.0.1:9999就行

    不想手动折腾就用Kejilion的脚本 一键反代

    ^-^

  • 张粪堆 07-24 11:35
    14

    最简单的是127.0.0.1:9999:9999

    如果你想更安全可以使用cf的隧道,不映射任何端口,让隧道和容器使用同一个docker网络。

    然后在cf的后台绑定你的容器,再设置防火墙,只允许白名单IP访问这个域名,就更安全了。

  • shuki 07-24 11:38
    15

    用caddy之类的反代一下就行,docker端口只给127.0.0.1开放

  • 西瓜霜1104 07-24 11:40
    16

    用DPanel管理docker就行了

    安装时候选nginx版Dpanel

    容器启动不开放任何端口

    域名转发时候选择容器名:端口就行了

    昨天刚刚弄过,弄得sub store怕被扫端口

    楼上也有人提到了,docker支持:

    容器名:端口

    代理目标填sub-store:3000

    不用Dpanel也行,手搓有点难度

  • Yuna 楼主 07-24 11:41
    17

    @西瓜霜1104 #16 谢谢大佬 可是 DPANLE 访问的时候不也得 IP+端口吗

  • cf 07-24 11:53
    18

    @宗山 #5


    我记得 docker 网络会 bypass ufw 规则的吧

  • 西瓜霜1104 07-24 13:58
    19

    @Yuna #17

    DPANLE里面可以选择域名转发到:容器名称加端口


  • Yuna 楼主 07-24 14:02
    20

    @西瓜霜1104 #19 好的 谢谢

  • yuanfirst 07-24 22:50
    21

    前两天让AI写过一个工具



    里面提到的 docker端口不暴露在外网但是可以通过反代来访问的配置 给你参考

* 帖子来源NodeSeek
返回