Я начал новую работу 6 недель назад, и я все еще изучаю окружающую среду. Вчера я получил новую задачу, и это была проблема, которая на некоторое время отскочила. Проблема казалась достаточно проста, включила броти на виртуальном хосте. Это история того, насколько просто не может быть такой простой.
Centos 6 — конец жизни по состоянию на 2020 ноября. После небольшого обсуждения план — продолжать расследовать, если мы сможем сделать это как слой, пока все решение не будет переработано.
Итак, как можно было бы расследовать, как это сделать? Оказывается, это не так тривиально, и даже только начинать расследование можно сложно. Моя первая мысль была, начать экземпляр докера Так что я могу ткать вокруг и попробовать различные RPM.
Docker Pult Centos: 6.7
Отлично! Docker Run -Ti Centos: 6.7
Cool, у меня есть подсказка, теперь что?
После поиска в Интернете я вижу, что NGINX.ORG имеет RPM пакеты. Я попробую один и посмотрите, есть ли у него поддержка броти.
Curl -lo https://nginx.org/packages/mainline/cents/6/x86_64/rpms/nginx-1.19.5-1.el6.ngx.x86_64.rpm. Curl: (35) Ошибка подключения SSL Connect
WAT? Хорошо, может быть, сертификаты на этом 2-до докера (я проверил Docker Hub) устарел. Curl -k
То же самое и получите ту же ошибку. WTF? Добавьте -В
Чтобы скрутить и увидеть сообщение Libnss * Предупреждение: игнорирование значения SSL.verifyhost
Ну что-то не то? На данный момент я бормочу под дыханием о том, как Debian/Ubuntu использует OpenSSL, связанный скручиваемость по умолчанию, а не Libnss И мне интересно, вели себя бы то же самое.
Как я пишу это, я понимаю, что, возможно, я должен был использовать более недавние Centos 6 Docker Image, 6.10, возможно,. К сожалению, я не такой опыт с Centos, как я должен быть. Часть этого удовольствия — это дайвинг и обучение. Я использовал 6.7, потому что это то, что этот сервер по вопросу говорит, что это так.
Хорошо, так что новая проблема …
yum update
говорит, что не может сделать это.
$ yum update Loaded plugins: fastestmirror Setting up Update Process Loading mirror speeds from cached hostfile YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. Invalid release/repo/arch combination/ removing mirrorlist with no valid mirrors: /var/cache/yum/x86_64/6/base/mirrorlist.txt Error: Cannot find a valid baseurl for repo: base
Хорошо, некоторые поиски говорят мне использовать BaseUrl
вместо зеркальный список
И что сейчас на Vault.Centos.org.
. Я пытаюсь это и получить новую ошибку: http://vault.centos.org/centos/6/oS/X86_64/Repodata/Repomd.xml: [Errno 14] CENER CERT не может быть проверена или неверно проверяется
Да, это говорит http:, но порт 80 просто перенаправляет в порт 443 И тогда мы получаем ошибку сертификатов. У нас есть улов-22. Нам нужно обновить наш пакет, чтобы получить новые сертификаты, но нам нужны новые сертификаты для обновления нашей пакеты. Нам нужно обновить наш пакет, чтобы получить новые сертификаты, но нам нужны новые сертификаты для обновления нашей пакеты. Нам нужно обновить наш пакет, чтобы получить новые сертификаты, но нам нужны новые сертификаты для обновления нашей пакеты. Нам нужно обновить наш пакет, чтобы получить новые сертификаты, но нам нужны новые сертификаты для обновления нашей пакеты. кашель отель
(Обновление: я делаю это достаточно часто, что редактирование этого файла занимает слишком длинное И так есть это: Sed -i: \/\/Vault/; S/MirrorList/# MoxorList/'/etc/yum.repos.d/centos-base.repo
Несомненно
Для решения мне повезло. Я знал, чтобы попытаться получить RPM CA-сертификаты вручную и установить его без ням. Хуже прийти к худшему, я мог бы загрузить его на другой хост и скопировать его с Docker CP
или используйте NetCat или Python Simple Server или поместите его на веб-сервере Non-TLS или любой другой метод перемещения данных. Я был вручную просматривать репо и получил этот URL Curl -lo https://chive.kernel.org/centos-vault/6.10/UPDATES/X86_64/packages/Ca-certificates-2020.2.41-65.1.el6_10.noarch.rpm
И получается, что Cert обслуживающий Archive.kernel.org был приемлемым.
RPM -U ./ca-cert_rpm.
И теперь я могу Обновление Yum; yum. Обновить
Поиск Поиск Поиск, поиск в Интернете, и вы не найдете четких ответов. Есть сообщения о компиляции сами. Есть посты об использовании подписки REPO. ( https://www.getpagespeed.com )
Кстати, эта подписка REPO также имела сообщение в блоге, которое помогло подтвердить мои выводы выше: https://www.getpagespeed.com/server-setup/how-to-fix-yum-after-centos-6-went-eol вместе с https://forums.centos.org/viewtopic.php?f=13&t=78238 Что подтвердило то, что я догадался об обновлении сертификатов.
Теперь моя первая мысль была, Nginx имеет это по умолчанию, верно? Используйте новейший пакет из Nginx.org. Посмотрите на все здесь: https://nginx.org/packages/centos/6/x86_64/RPMS/
Я Curl -lo.
Эд (путро — глагол, увидимся), что https://nginx.org/packages/mainline/cents/6/x86_64/rpms/nginx-1.19.5-1.el6.ngx.x86_64.rpm .. И установил его ( rpm -i ./nginx*rpm
) и был разочарован тем, что у него не было броти ( строки/usr/sbin/nginx | grep brot
подтверждает). (То есть после того, как я yum install initscripts
как требуется этим пакетом)
Хорошо облом.
Продолжайте искать и читать …
Следующая вещь, которую я пытался, были пакетами из https://repo.aerisnetwork.com. Но, короче говоря, они не делали то, что я хотел или имел какой-то недостаток.
Далее я попробовал тыкать на пакетах из getpagepeed.com, я даже просмотрел в моем браузере, получил этот URL: https://extras.getpagespeed.com/redhat/6/mainline/x86_64/rpms/nginx-1.21.3-1.el6.ngx.x86_64.rpm
И попытался загрузить и установить его, но на самом деле не скачал. Регистрация необходима и, по-видимому, они белиступит зарегистрированными пользователями по IP. Переход через эти обручи не будет устойчивым для меня в моей рабочей среде, поэтому я отбросил getpagepeed.com.
Я понятия не имею, почему, но дальше я попробовал это https://nginx.org/packages/centos/6/x86_64/rpms/nginx-1.18.0-2.el6.ngx.x86_64.rpm
Старший, чем проницательный пакет nginx.org, но это не в Материна
репо И я CentOS N00B достаточно, чтобы я не знаю разницы. Опять же, Строки/usr/sbin/nginx | Grep Brot
ничего не показал, так что получил быстрый RPM -E Nginx
Отказ
Далее я попробовал Curl -lo https://repo.aerisnetwork.com/archive/nginx-more-1.13.6-1.el6.x86_64.rpm
и https://repo.aerisnetwork.com/archive/nginx-more-1.14.2-4.el6.x86_64.rpm
Отказ (Не имею, почему я схватил 1,13 и 1.14.) Был куча различных пакетов Nginx на repo.aerisnetwork.com
Для этого работало некоторые требования, поэтому я бегал yum install gd libxslt
Но был еще случай libmaxminddb.so.0.
Далее я попробовал Repo.codeit.Guru
пакеты. Я точно не вспоминаю, где я нашел этот репо. Я думаю, что это было несколько источников. Один из них был https://nixcp.com/brotli-compression-nginx/
. Я, наверное, также видел https://codeit.guru/en_us/2020/04/nginx-1-18-0-stable-with-brotli-support-tls-1-3-final-rfc-8446-built-Against-8446- 1-1G-FOR-RED-HAT-Enterprise-linux-and-centos/
Отказ Я был достаточно отчаянным, чтобы скопировать и страницате URL Root Repo и надежду на каталог CentOS 6. Был один!
curl -LO https://repo.codeit.guru/packages/mainline/centos/6/x86_64/nginx-1.19.5-1.el6.codeit.x86_64.rpm rpm -i ./nginx-1.19.5-1.el6.codeit.x86_64.rpm warning: ./nginx-1.19.5-1.el6.codeit.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 898b43f4: NOKEY error: Failed dependencies: libbrotli = 1:1.0.7 is needed by nginx-1:1.19.5-1.el6.codeit.x86_64 libmaxminddb.so.0()(64bit) is needed by nginx-1:1.19.5-1.el6.codeit.x86_64 curl -LO https://repo.codeit.guru/packages/mainline/centos/6/x86_64/libbrotli-1.0.7-1.codeit.el6.x86_64.rpm rpm -i ./libbrotli-1.0.7-1.codeit.el6.x86_64.rpm
Там, очевидно, поддержка броти, но и то же самое libmaxminddb.so.0
зависимость.
Теперь мне пришлось кратко забывать Nginx и сосредоточившись, где найти эту зависимость. Конечно, есть пакет?
$ yum install libmaxmindddb Loaded plugins: fastestmirror Setting up Install Process Loading mirror speeds from cached hostfile No package libmaxmindddb available. Error: Nothing to do $ yum install libmaxmindddb-dev ... No package libmaxmindddb-dev available. $ yum install libmaxmindddb-devel ... No package libmaxmindddb-devel available.
Требуется много поисков. Я задавался вопросом, был ли он в NGINX-Module-Geoip RPM, но нет.
Наконец, я нашел несколько комментариев в отношении EPEL. У меня не было включено Epel Reppo. Это не является частью хранилища AFAICT, но я смог найти веб-просмотр Epel и найти пакет.
curl -LO https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/Packages/l/libmaxminddb-1.1.1-5.el6.x86_64.rpm rpm -i ./libmaxminddb-1.1.1-5.el6.x86_64.rpm
А теперь пакет Nginx из CodeIt.Guru может быть установлен.
$ rpm -i ./nginx-1.19.5-1.el6.codeit.x86_64.rpm warning: ./nginx-1.19.5-1.el6.codeit.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 898b43f4: NOKEY --------------------------------------------------------------------------- Thanks for using nginx! Please find the official documentation for nginx here: * http://nginx.org/en/docs/ Please subscribe to nginx-announce mailing list to get the most important news about nginx: * http://nginx.org/en/support.html Commercial subscriptions for nginx are available on: * http://nginx.com/products/ --------------------------------------------------------------------------- $ rpm -ql nginx /etc/logrotate.d/nginx /etc/nginx /etc/nginx/conf.d /etc/nginx/conf.d/default-ssl.conf.example /etc/nginx/conf.d/default.conf /etc/nginx/fastcgi_params /etc/nginx/koi-utf /etc/nginx/koi-win /etc/nginx/mime.types /etc/nginx/modules /etc/nginx/nginx.conf /etc/nginx/php.inc /etc/nginx/scgi_params /etc/nginx/uwsgi_params /etc/nginx/win-utf /etc/rc.d/init.d/nginx /etc/rc.d/init.d/nginx-debug /etc/sysconfig/nginx /etc/sysconfig/nginx-debug /usr/lib64/nginx /usr/lib64/nginx/modules /usr/sbin/nginx /usr/sbin/nginx-debug /usr/share/doc/nginx-1.19.5 /usr/share/doc/nginx-1.19.5/COPYRIGHT /usr/share/man/man8/nginx.8.gz /usr/share/nginx /usr/share/nginx/html /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.html /var/cache/nginx /var/log/nginx $ strings /usr/sbin/nginx | grep brot ngx_http_brotli_static_module_ctx ngx_http_brotli_filter_module ngx_http_brotli_static_module ...
Посмотрите на эти красивые символы!
Следующая задача — обсудить с командой все причины, по которым мы должны Не Интегрируйте это в нашу среду и вместо этого мигрируйте Of Centos 6.
Оригинал: «https://dev.to/jrwren/nginx-with-brotli-support-on-centos-6-2ipj»