连接到Zap代理泊坞窗图像,“最大重试次数超过URL:由ProxyError引起('无法连接到代理

我试图通过Docker使用zap代理将它拉下来:

docker pull owasp/zap2docker-stable 

使用“从Docker容器外部访问API”部分中描述的命令对其进行调整:

  docker run -p 8090:8090 -i owasp/zap2docker-stable zap.sh -daemon -port 8090 -host 0.0.0.0 

但我似乎无法连接到它。 当我运行docker inspect <CONTAINER ID> | grep IPAddress docker inspect <CONTAINER ID> | grep IPAddress我得到172.17.0.2(编辑:我可以扫描运行,并把我更改ZAP_SERVER_PROXY从172.17.0.2:8090到Mac上的0.0.0.0:8090 ,所以编辑成下面的代码示例)。 所以我的脚本开始看起来像:

 import os import time from pprint import pprint from zapv2 import ZAPv2 BASE_URL = os.getenv('BASE_URL', 'https://example.appspot.com/') ZAP_SERVER_PROXY = os.getenv('ZAP_SERVER_PROXY', '0.0.0.0:8090') API_KEY = '' zap = ZAPv2( # apikey=API_KEY, proxies={ 'http': "http://%s" % ZAP_SERVER_PROXY, 'https': "https://%s" % ZAP_SERVER_PROXY } ) 

只是试图通过terminal使用python现在运行,并不断收到连接拒绝错误。 另外,我也尝试了API_KEY部分注释掉,没有人知道你在哪里找不到它在文档中。

注:我在马科斯,但运行docker-machine ip default不做任何事情,所以不知道如何得到链接页面的底部和新的docker。 以自己的例子模拟testing。 运行在virtualenv -p python3 env不知道这是否影响它。

此外,您将需要禁用IP过滤 – 请参阅此处了解如何做到这一点的细节,基本上只使用以下内容:

 docker run -p 8090:8090 -i owasp/zap2docker-stable zap.sh -daemon -port 8090 -host 0.0.0.0 -config api.disablekey=true -config api.addrs.addr.name=.* -config api.addrs.addr.regex=true 

要小心,因为它将允许从任何IP连接到Zaproxy,这是很好的,而在孤立的docker集装箱运行。

正如您在脚本中注释了API key参数一样,请尝试使用-config api.disablekey=true调用zap守护进程。

docker run -p 8090:8090 -i owasp / zap2docker-stable zap.sh -daemon -port 8090 -host 0.0.0.0 -config api.disablekey = true