【機器】
內網機器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轉發到外網,最終返回結果。