Centos上配置兩層nginx轉發,把請求轉發到外網

卡卡西村長發表於2021-01-13

【機器】
內網機器A(10.1.125.10):執行python程式。
內網機器B(10.1.131.20):內網nginx代理。
外網機器C(10.1.148.30):外網nginx代理。

【目標】
在機器A上配置pip源,把外網請求mirrors.aliyun.com透過兩層nginxB和C轉發到外網。

【步驟】
1、在機器A上,修改pip配置,使用aliyun的映象。
mkdir /root/.pip
vi /root/.pip/pip.conf

[global]
index-url=http://mirrors.aliyun.com/pypi/simple/

[install]
trusted-host=mirrors.aliyun.com

 

2、在機器A上,修改 /etc/hosts 檔案,加入如下一行:

10.1.131.20 mirrors.aliyun.com #指向機器B的nginx

 

3、在機器B上,修改 /etc/hosts 檔案,加入如下一行:

10.1.148.30 mirrors.aliyun.com #指向機器C的nginx

 

4、在機器B上,配置nginx,增加如下配置:

server {
  listen 80;
  server_name mirrors.aliyun.com;

  location / {
    proxy_pass http://mirrors.aliyun.com;
  }
}

 

5、在機器C上,配置nginx,增加如下配置:

server {
  listen 80;
  server_name mirrors.aliyun.com;

  location / {
    proxy_pass http://mirrors.aliyun.com;
  }
}

 

到這裡就配置完了,執行pip命令時,實際是請求http://mirrors.aliyun.com/pypi/simple地址,請求先從A轉發到B,再從B轉發到C,在從C轉發到外網,最終返回結果。

相關文章