При использовании Docker SOAP не может разрешить запросы SSL - PullRequest
0 голосов
/ 03 сентября 2018

У меня возникает ситуация, когда я пытаюсь подключиться к хосту SSL через SOAP в приложении Docker.

Когда я пытаюсь это сделать, у меня есть , чтобы отключить SSL на транспортном уровне, чтобы заставить его работать. Я использую код, подобный этому:

$context = stream_context_create([
    'ssl' => [
        // set some SSL/TLS specific options
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    ]
]);

$client  = new SoapClient(null, [
    'location' => 'https://...',
    'uri' => '...', 
    'stream_context' => $context
]);

Что также является самым популярным ответом * 1008 на этот вопрос.

Итак, я бы хотел, чтобы соединение работало без этого взлома.

Если я пропущу это, я получу следующее исключение:

( ! ) Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'https://api.myhost.tld/gateway/Method?wsdl' : failed to load external entity "https://api.myhost.tld/gateway/Method?wsdl" in /var/www/html/app/code/local/Vendor/MyHost/Model/Method.php on line 31

1 Ответ

0 голосов
/ 03 сентября 2018

Вам нужен доверенный сертификат для вашего домена api.myhost.tld, чтобы сделать его правильным. Таким образом, вы можете купить «официальный» SSL-сертификат и прикрепить его к своему веб-серверу SOAP или создать самозаверяющий сертификат и добавить этот сертификат в качестве доверенного к своему образу докера, как описано здесь: Как добавить корневой сертификат CA в образ докера ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...