接触linux不多,现在遇到这样一个问题想请教论坛的各位
我的nginx直接安装在主机上(apt-get),现在有一个docker容器,暴露了8080端口,我要的目的是,只能通过ip:443通过nginx反代容器,而ip:8080是不能被访问的
- 如果容器链接的host网络,nginx应该怎么样设置,是否需要修改iptables来限制
- 如果容器链接的bridge呢
接触linux不多,现在遇到这样一个问题想请教论坛的各位
我的nginx直接安装在主机上(apt-get),现在有一个docker容器,暴露了8080端口,我要的目的是,只能通过ip:443通过nginx反代容器,而ip:8080是不能被访问的
127.0.0.1:8080:8080这样映射只能本地访问 用Nginx反代
那这应该是容器链接的host网络?
问问 gpt
问问gpt吧
host 网络相当于和宿主机一样了,不需要映射端口,端口是否开放只归防火墙管
bridge 网络就需要映射端口了,映射的端口默认会修改 iptables 配置在防火墙上打洞,如 ufw 之类的防火墙应用无法禁用映射的端口,需要手动调整 iptables 配置来关闭端口
我是每次部署服务器安装 Docker 时都会先参照这篇文章修改 ufw 配置来防止 Docker 在防火墙上打洞 Docker防火墙管理 | Escape (用的不是 ufw 就得自己想办法限制容器打洞了
容器不多且保证端口不冲突就直接 host 网络吧,和直接在主机上安装的没区别
问过才过来问的
评论区说127.0.0.1:8080:8080,这个有用,能通过nginx反代,而且ip:8080是访问不了的
能用就好,我是习惯用 8080:8080 默认全映射了
如果是host网络,那怎么样开放container的端口?expose 8080?那ufw deny 8080,然后nginx反代localhost:8080,这样子做吗
host 网络的话我记得是默认占用容器所需要的全部端口,容器那边不需要额外配置
本机反代的话直接127.0.0.1:端口就好(不推荐 localhost
有需要用服务器ip:端口形式访问就开放防火墙端口,不会自动开放端口
好的,感谢