При подключении к образу Zap Proxy Docker "Максимальное количество повторных попыток превышено с помощью URL: вызвано ProxyError(" Невозможно подключиться к прокси

Я пытаюсь использовать zap-прокси через Docker.

 docker pull owasp/zap2docker-stable

Запустите его с помощью команды, описанной в разделе "Доступ к API из-за пределов контейнера Docker":

 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 Я получаю 172.17.0.2 (РЕДАКТИРОВАТЬ: я могу запустить сканирование, и мне потребовалось изменить ZAP_SERVER_PROXY с 172.17.0.2:8090 в 0.0.0.0:8090 на Mac, поэтому редактируем это в примере кода ниже). Итак, начало моего сценария выглядит так:

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
    }
)

Просто пытаюсь запустить его через терминал, используя python прямо сейчас, и постоянно получаю сообщение об отказе соединения. Также я попробовал это с API_KEY части также закомментированы, кто-нибудь знает, где вы найдете, что не видно в документации.

Примечание: я нахожусь на macos, но бегу docker-machine ip default ничего не делает, поэтому не уверен, как добраться до нижней части связанной страницы и новичка в докере. Смоделирован тест по собственному примеру. Бег в virtualenv -p python3 env не уверен, если это повлияет на это.

2 ответа

Решение

Кроме того, вам нужно будет отключить 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, что нормально при запуске его в изолированном док-контейнере.

Как только вы закомментировали параметр ключа API в вашем скрипте, попробуйте вызвать демон zap с помощью -config api.disablekey=true,

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

Другие вопросы по тегам