說明:本次記錄的情況如下1.a 服務器是內網 2.b 服務器是外網 3.a能連接b服務器。因爲a沒有網絡所以安裝很多東西不方便,就想了個辦法把a服務器上的yum源的請求地址替換成b的ip地址,再讓b服務器轉發代理出去。
我這裏準備的是阿里源,環境是centos7
準備工作:
1.下載阿里源的 repo文件 http://mirrors.aliyun.com/repo/
2、修改 下載好的阿里源repo文件(我使用的notepad 打開的)
所有的baseurl 後面的第一個http://mirrors.aliyun.com/centos/$releasever/os/$basearch/ 替換成http://b的ip地址/centos/$releasever/os/$basearch/ 記住是所有的baseurl後面的第一個http請求都替換,其他的兩個你要是需要你也可以替換,但是nginx上面要對應好代理轉發。
3、把這個阿里源的repo文件拷貝到a服務的/etc/yum.repos.d/
4、備份原來的 mv CentOs-Base.repo CentOs-Base.repo.bak
5、mv Centos-7.repo CentOs-Base.repo 即是重命名 Centos-7.repo -> CentOs-Base.repo
6、yum clean all
7、在b上面配置nginx的代理
server {
listen 80;
server_name b的ip地址;
location /centos {
proxy_pass http://mirrors.aliyun.com;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
特別提醒:注意server_name 是b的ip地址,還有就是proxy_set_header Host $proxy_host; 不能是$http_host
回到a 上面進行yum makecache,看看 第一個的請求應該是可以的。