美文网首页
nginx反向代理进行yum配置的步骤详解

nginx反向代理进行yum配置的步骤详解

作者: iamChel | 来源:发表于2020-12-15 09:10 被阅读0次

    nginx反向代理进行yum配置的步骤详解

    part.0 使用背景

    在项目部署时,尤其是在政府企业,对于外网简直是奢望,但是对于运维来说,没有外网的话只能自建yum源。我今天来说的是一种简单的自建yum源方法,前提是必须有一台内外网都有的机器,我们一般称为前置机。
    公司内网服务器不能直接通过Internet上网,但为了与外网通信和同步时间等,会指定那么几台服务器可以访问Internet。这里就是通过能上网的机器作为代理,制作内网使用的yum仓库。

    part.1 环境

    内网dns(推荐,非必须,因为可使用IP代替)

    一台能上Internet的服务器A

    不能上Internet的服务器能与A服务器通信

    part.2 nginx安装

    在可连接外网的A中安装nginx

    $ yum install nginx
    

    part.3 nginx配置

    在主机A中添加nginx配置

    $ cd /etc/nginx/conf.d
    $ vim proxy.conf
    
    server {
      listen 80;
      #listen [::]:80;
      server_name mirrors.yourdomain.com;
      index index.html index.htm index.php default.html default.htm default.php;
      root /home/www/root/html;
    
      location /centos/ {
       proxy_pass http://mirrors.aliyun.com/centos/ ;
      }
    
     }
    

    part.4 配置yum repo 源

    修改无法连接外网的主机B 的repo文件。

    $ cat /etc/yum.repos.d/CentOS-7.repo
    
    [base]
    name=CentOS-$releasever - Base - mirrors.yourdomain.com
    failovermethod=priority
    baseurl=http://mirrors.yourdomain.com/centos/$releasever/os/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    gpgcheck=1
    gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7
    
    #released updates 
    [updates]
    name=CentOS-$releasever - Updates - mirrors.yourdomain.com
    failovermethod=priority
    baseurl=http://mirrors.yourdomain.com/centos/$releasever/updates/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    gpgcheck=1
    gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7
    
    #additional packages that may be useful
    [extras]
    name=CentOS-$releasever - Extras - mirrors.yourdomain.com
    failovermethod=priority
    baseurl=http://mirrors.yourdomain.com/centos/$releasever/extras/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
    gpgcheck=1
    gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7
    
    #additional packages that extend functionality of existing packages
    [centosplus]
    name=CentOS-$releasever - Plus - mirrors.yourdomain.com
    failovermethod=priority
    baseurl=http://mirrors.yourdomain.com/centos/$releasever/centosplus/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
    gpgcheck=1
    enabled=0
    gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7
    
    #contrib - packages by Centos Users
    [contrib]
    name=CentOS-$releasever - Contrib - mirrors.yourdomain.com
    failovermethod=priority
    baseurl=http://mirrors.yourdomain.com/centos/$releasever/contrib/$basearch/
    #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
    gpgcheck=1
    enabled=0
    gpgkey=http://mirrors.yourdomain.com/centos/RPM-GPG-KEY-CentOS-7
    

    part.5 配置hosts

    $ cat /etc/hosts
    
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1   localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.1.193 mirrors.yourdomain.com
    # 确保A 主机IP 和后面的反向代理地址
    

    part.6 配置iptables

    ping mirrors.yourdomain.com
    #报错 没有到主机的路由
    

    此时查看B主机中的iptables信息,发现无法访问80,可以在最前添加一条规则。

    $ iptables -nvL
    
     8155 28M ACCEPT  all -- *  *  0.0.0.0/0   0.0.0.0/0   ctstate RELATED,ESTABLISHED
     0  0 ACCEPT  all -- lo  *  0.0.0.0/0   0.0.0.0/0   
    11761 985K INPUT_direct all -- *  *  0.0.0.0/0   0.0.0.0/0   
    11761 985K INPUT_ZONES_SOURCE all -- *  *  0.0.0.0/0   0.0.0.0/0   
    11761 985K INPUT_ZONES all -- *  *  0.0.0.0/0   0.0.0.0/0   
     0  0 DROP  all -- *  *  0.0.0.0/0   0.0.0.0/0   ctstate INVALID
    11756 985K REJECT  all -- *  *  0.0.0.0/0   0.0.0.0/0   reject-with icmp-host-prohibited
    
    $ iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    

    part.7 测试是否成功

    在B主机中进行,yum makecache操作。来判断是否能进行yum操作。

    $ yum clean all
    $ yum makecache
    

    相关文章

      网友评论

          本文标题:nginx反向代理进行yum配置的步骤详解

          本文链接:https://www.haomeiwen.com/subject/ospigktx.html