Skip to content

Instantly share code, notes, and snippets.

@mnogom
Last active March 31, 2025 11:23
Show Gist options
  • Save mnogom/8d66ef07a9b3671bf435c6ad25f9a4d5 to your computer and use it in GitHub Desktop.
Save mnogom/8d66ef07a9b3671bf435c6ad25f9a4d5 to your computer and use it in GitHub Desktop.
Centos 7 fix yum mirrors

Shooting trouble on Centos 7 (in 2024)

https://vault.centos.org/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14]
curl#35 - "Peer reports incompatible or unsupported protocol version."

Part I

on Centos 7:

sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/*
sed -i -e "s|#baseurl=|baseurl=|g" /etc/yum.repos.d/*
sed -i -e "s|http://mirror.centos.org|https://vault.centos.org|g" /etc/yum.repos.d/*
yum update -y

if it works - great. close this page and go. but if not go to part II

Part II

On modern machine

  1. Create dirs and Dockerfile
mkdir ~/centos7-yum-proxy
cd ~/centos7-yum-proxy
touch Dockerfile
  1. Dockerfile
FROM nginx:1.26.0-alpine-slim as base
RUN echo $'server {\n\
  listen 8080;\n\
  server_name localhost;\n\
  location / {\n\
    proxy_pass https://vault.centos.org/;\n\
    proxy_ssl_server_name on;\n\
  }\n\
}' > /etc/nginx/conf.d/default.conf
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
  1. build & run
docker build --tag fckit-proxy-centos7 .
docker run --rm -dit -p 8080:8080 --name fckit-proxy-centos7 fckit-proxy-centos7
  1. checkout
docker ps

output

CONTAINER ID   IMAGE                COMMAND                CREATED         STATUS        PORTS                                               NAMES
ae767e86aef9   fckit-proxy-centos7  "/docker-entrypoint.…" 2 seconds ago   Up 1 second   80/tcp, 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   vigilant_hofstadter

on Centos 7

sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
sed -i -e "s|#baseurl=|baseurl=|g" /etc/yum.repos.d/CentOS-*
sed -i -e "s|https://vault.centos.org|http://<ip-address-of-modern-machine>:8080|g" /etc/yum.repos.d/*
yum update -y
sed -i -e "s|<ip-address-of-modern-machine>:8080|https://vault.centos.org|g" /etc/yum.repos.d/*

back to modern machine

docker kill fckit-proxy-centos7
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment