过去几天我一直在扯掉我的头发。
我有一个EC2实例和Ubuntu一起,并且设置了我的AWS实例,以便所有访问端口8088和8090的stream量都被允许进入。通过这个链接 ,我认为只要使用GUI浏览器,因为我没有访问我的EC2实例上的GUI。 所以我运行这个命令(从教程):
docker run -u zap -p 8088:8088 -p 8090:8090 -i owasp/zap2docker-stable zap-webswing.sh
它什么也不说。 但是当我使用端口8088进入公共EC2 IP时,我只是收到一个错误,提示“无法访问此站点”。 我已经成功地在这个EC2实例上的另一个端口上设置jenkins,并且可以访问..所以我不确定为什么我在运行OWASP / ZAP时无法访问这个端口。
当我运行sudo iptables -t nat -L -n我得到以下内容:
Chain PREROUTING (policy ACCEPT) target prot opt source destination DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ADDRTYPE match dst-type LOCAL Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination DOCKER all -- 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE match dst-type LOCAL Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 172.17.0.0/16 0.0.0.0/0 MASQUERADE tcp -- 172.17.0.2 172.17.0.2 tcp dpt:8088 Chain DOCKER (2 references) target prot opt source destination RETURN all -- 0.0.0.0/0 0.0.0.0/0 DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8088 to:172.17.0.2:8088
我对这种事情不是很高兴,所以我不知道究竟发生了什么,或者我需要改变什么? 但是,无论如何,我可以启动OWASP / ZAP,并在我进入公共IP和指定的端口时使用它。