配置 macOS High Sierra 防火墙以在端口 80 上公开运行 NGinx 的 Docker 容器

配置 macOS High Sierra 防火墙以在端口 80 上公开运行 NGinx 的 Docker 容器

我在启用了防火墙的 macOS High Sierra 机器上运行 Nginx 容器,内容如下:

docker run -p 80:80 --name nginx nginx

通过机器的私有网络 IP 地址访问 Nginx 在机器本身上可以正常工作,但是尝试在网络上的其他机器上访问它时会失败。

我尝试过的事情:

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add  /Applications/Docker.app/Contents/MacOS/Docker
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp  /Applications/Docker.app/Contents/MacOS/Docker

sudo /usr/libexec/ApplicationFirewall/socketfilterfw --add /usr/local/bin/vpnkit
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp /usr/local/bin/vpnkit

由于 vpnkit 似乎正在监听端口 80 lsof -i :80

vpnkit TCP *:http (侦听)

此外,执行 nmap -p 80 显示:

港口国服务

80/tcp 过滤 http

相关内容