Из-за чего у меня перестали работать репозитории Debian/Ubuntu через http?
Ссылка скопирована
Сейчас ситуация такая: использую официальные репозитории дистрибутива, проблему заметил как на Debian, так и на Ubuntu. Недавно перестали работать репозитории по http, при использовании https проблема исчезает. Хочу узнать в чём может быть причина подобного.
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
Linux
Как диагностировать зависание RK3568 U-boot на Starting kernel?
1 ответ

Если официальные репозитории Debian/Ubuntu по HTTP внезапно перестали работать, а по HTTPS работают, причина обычно не в apt как таковом. Частые варианты: провайдер/корпоративная сеть режет или подменяет HTTP, зеркало изменило правила, прокси/кэш сломался, DNS отдает не тот адрес, либо на пути появился фильтр, который ломает plain HTTP.
Сначала проверьте конкретную ошибку apt. Важно различать timeout, 403, Hash Sum mismatch, Clearsigned file isn't valid, Connection failed и т.д.
sudo apt update curl -I http://archive.ubuntu.com/ubuntu/ curl -I https://archive.ubuntu.com/ubuntu/
Если HTTP возвращает 403/redirect/странный HTML, сеть или зеркало подменяет ответ. Если timeout - возможно блокировка или проблема маршрута. Если Hash Sum mismatch - часто виноват прозрачный прокси или кэширующее устройство.
Проверьте DNS и трассировку:
getent hosts archive.ubuntu.com traceroute archive.ubuntu.comgetent hosts archive.ubuntu.com traceroute archive.ubuntu.com
На практике нормальное решение - перейти на HTTPS в sources.list. Современный apt поддерживает HTTPS штатно, отдельный apt-transport-https для новых версий обычно не нужен.
sudo sed -i 's|http://archive.ubuntu.com|https://archive.ubuntu.com|g' /etc/apt/sources.list sudo sed -i 's|http://security.ubuntu.com|https://security.ubuntu.com|g' /etc/apt/sources.list sudo apt update
Для Debian аналогично замените http://deb.debian.org на https://deb.debian.org. Если у вас старый дистрибутив, убедитесь, что установлены ca-certificates и системное время корректное:
sudo apt install ca-certificates timedatectl
Вывод: если HTTPS стабильно работает, используйте HTTPS. HTTP для репозиториев допустим за счет подписи пакетов, но он хуже переносит подмены, прокси и сетевые фильтры. Если нужно найти корень - смотрите curl -I и реальный код ответа по HTTP.