nginx 代理yum源,供内网使用

本文参考了:https://www.cnblogs.com/moonciki/p/10824681.html
但是,他这个文章是不能够成功的,因为nginx未配置proxy_set_header

正确的做法:
外网机器:192.168.0.164 (nginx)
内网机器:192.168.0.199

一、外网机器上面的nginx做如下配置:

值得注意的是,代理的源只能比实际用的repo多或者一样

    server{
        listen 18000;
        server_name 192.168.0.164;
        add_header Access-Control-Allow-Origin *;
        add_header Access-Control-Allow-Headers X-Requested-With;
        add_header Access-Control-Allow-Methods GET,POST,OPTIONS;

        location / {
            root   html;
            index  index.html index.htm;
        }

        location /centos/ {
            proxy_pass http://mirrors.aliyun.com/centos/;
            # 下面三行必加
            proxy_set_header   X-Forwarded-Proto $scheme;
            proxy_set_header   Host              $proxy_host;
            proxy_set_header   X-Real-IP         $remote_addr;
        }

        location /epel/ {
            proxy_pass http://mirrors.aliyun.com/epel/;
            # 必须
            proxy_set_header   X-Forwarded-Proto $scheme;
            proxy_set_header   Host              $proxy_host;
            proxy_set_header   X-Real-IP         $remote_addr;

        }
       location /docker-ce/ {
            proxy_pass http://mirrors.aliyun.com/docker-ce/;
            # 必须
            proxy_set_header   X-Forwarded-Proto $scheme;
            proxy_set_header   Host              $proxy_host;
            proxy_set_header   X-Real-IP         $remote_addr;

        }
    }

配置完毕,重启nginx

nginx -s reload

二、内网机器配置yum源

cd /etc/yum.repo.d

Base源

cat CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - 192.168.0.164:18000
failovermethod=priority
baseurl=http://192.168.0.164:18000/centos/$releasever/os/$basearch/
        http://192.168.0.164:18000/centos/$releasever/os/$basearch/
#        http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://192.168.0.164:18000/centos/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates - 192.168.0.164:18000
failovermethod=priority
baseurl=http://192.168.0.164:18000/centos/$releasever/updates/$basearch/
        http://192.168.0.164:18000/centos/$releasever/updates/$basearch/
#        http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://192.168.0.164:18000/centos/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras - 192.168.0.164:18000
failovermethod=priority
baseurl=http://192.168.0.164:18000/centos/$releasever/extras/$basearch/
        http://192.168.0.164:18000/centos/$releasever/extras/$basearch/
#        http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://192.168.0.164:18000/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus - 192.168.0.164:18000
failovermethod=priority
baseurl=http://192.168.0.164:18000/centos/$releasever/centosplus/$basearch/
        http://192.168.0.164:18000/centos/$releasever/centosplus/$basearch/
#        http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://192.168.0.164:18000/centos/RPM-GPG-KEY-CentOS-7

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib - 192.168.0.164:18000
failovermethod=priority
baseurl=http://192.168.0.164:18000/centos/$releasever/contrib/$basearch/
        http://192.168.0.164:18000/centos/$releasever/contrib/$basearch/
        http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://192.168.0.164:18000/centos/RPM-GPG-KEY-CentOS-7

epel源

vim epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
baseurl=http://192.168.0.164:18000/epel/7/$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[epel-debuginfo]
name=Extra Packages for Enterprise Linux 7 - $basearch - Debug
baseurl=http://192.168.0.164:18000/epel/7/$basearch/debug
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
gpgcheck=1

[epel-source]
name=Extra Packages for Enterprise Linux 7 - $basearch - Source
baseurl=http://192.168.0.164:18000/epel/7/SRPMS
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

docker源

cat  docker-ce.repo 
[docker-ce]
name=Docker-CE Repository
baseurl=http://192.168.0.164:18000/repository/docker-ce-repo/$releasever/$basearch/stable
enabled=0
gpgcheck=1
keepcache=1
gpgkey=http://192.168.0.164:18000/repository/docker-ce-repo/gpg

如果换成自己的可以这样:

sed -i "s/192.168.0.164:18000/你的nginx代理/g" CentOS-Base.repo
sed -i "s/192.168.0.164:18000/你的nginx代理/g" epel.repo
sed -i "s/192.168.0.164:18000/你的nginx代理/g" docker-ce.repo

刷新缓存

yum clean all
yum makecache

正确的结果如下:
在这里插入图片描述

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值