1

Я пытаюсь запустить веб-прокси CGIProxy на одном из моих домашних серверов под управлением macOS 10.11.6. Я настроил веб-сервер с помощью утилиты Apple's Server.

По большому счету это работает, но есть несколько веб-сайтов, которые, когда я пытаюсь подключиться к ним через HTTPS, не работают со следующей ошибкой:

Net::SSLeay:: ошибка чтения: SSL_read 8284: 1 - ошибка: 14077410: lib(20): func(119): причина (1040)

К сожалению, у меня нет особого опыта работы с веб-серверами или Perl, поэтому я понятия не имею, что это значит или как это исправить.

В качестве эксперимента я установил сервер Ubuntu 14.04 на виртуальной машине, настроил apache2 и установил на нем CGIProxy, и он работает просто отлично - никаких ошибок SSL при подключении к проблемным сайтам.

Похоже, что это как-то связано с тем, что macOS немного отличается от Linux, что неудивительно. Ранее я сталкивался с несколькими проблемами, связанными с SSL, в системах MacOS при различных обстоятельствах.

Есть идеи, как исправить эту проблему?

1 ответ1

0

Так что, углубившись в эту ошибку, я обнаружил, что это указывает на ошибку рукопожатия, вероятно, из-за того, что у macOS нет должным образом обновленной версии OpenSSL. При выполнении openssl version печатается OpenSSL 0.9.8zh который не поддерживает TLS 1.1 или 1.2, что, вероятно, приводит к сбою .

Решением было использование homebrew для установки отдельной версии perl, которая ссылается на копию OpenSSL, выпущенную homebrew. На момент написания этой статьи текущая версия perl на homebrew - 5.24.1, более новая, чем версия, поставляемая с macOS abd Ubuntu 14.04. Когда я установил его и попытался запустить, используя его для запуска CGIProxy, произошел сбой. Поэтому я вместо этого попробовал Perl 5.18, который добился цели.

В итоге следующее исправляет это:

brew install perl@5.18
brew link --force perl@5.18

Отредактируйте nph-proxy.cgi и измените первую строку shebang:

#!/usr/bin/perl

Для того, чтобы:

#!/usr/local/bin/perl

Вычистил ~/.cpan и ~/perl5, если вы уже запустили ./nph-proxy init , снова запустите ./nph-proxy.cgi init , и после его завершения у меня не было проблем с использованием CGIProxy для доступа к проблемным веб-сайтам. до.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .