禁止〖IP + 端口〗访问〖Docker〗〖不暴露端口〗

前言

这一切诉求之来源,皆由 VPS 无防火墙造成。目的无非是,规避暴露端口,禁止外界直接访问 IP + 端口。各种防火墙方法,及各种咨询 ChatGPT 之后,均无效。可仍有执念。最终受一篇教程启发,当然关键还是 ChatGPT 立功,再稍作变通,如得所愿。幸甚,幸甚。

关键

关键就在于,既然要禁止外界通过 IP + 端口直接访问 Docker 内某项服务,那么从根源上来讲,启动 Docker 内某项服务时,不去定义 -p 参数,不去定义运行端口,转而由 --net 参数代替,定义  Docker 内 Ningx 所在网络,这样一来,在启动服务后,倘若不去反代,则无法访问此项服务,反代参数定义服务名称 + 所在 Docker 内端口。所有关键信息点均来自 ChatGPT 之答案,不过有所变通,答案告知定义新网络,服务和 Nginx 分别在启动时定义到这个新网络,然后反代。变通以后,直接让服务加入到现有 Nginx 之网络,进而反代出去。

代码

THE END