背景
若干台agv设备,这些设备都是没有公网的(无法访问百度等)。
一台服务器(ubuntu20.04)有线可以公网,无线可以实现内部通信(agv,plc等设备)。
目的
agv每一次更新代码,拉取代码等都需要切换到有公网的网络,多台agv设备切来切去很麻烦。现在要实现agv通过服务器的nginx代理gitee拉取代码。
代理服务器配置步骤
更新源
bash
sudo apt update
下载nginx
bash
sudo apt install nginx
配置nginx
bash
sudo nano /etc/nginx/site-available/gitee_proxy
配置文件内容
bash
server {
listen 80; #端口这里自己定义,80被用了就用别的
server_name 192.168.50.80;
location / {
proxy_pass https://gitee.com;
proxy_set_header Host gitee.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_redirect off;
}
}
创建符号链接以启用新配置
bash
sudo ln -s /etc/nginx/sites-available/gitee_proxy /etc/nginx/sites-enabled/
检查nginx配置是否正确
bash
sudo nginx -t
重启nginx使配置生效
bash
sudo systemctl restart nginx
AGV等其他需要代理到gitee的设备操作
bash
git remote set-url origin http://192.168.50.80/username/repository.git
#这里的192.168.50.80就是ngixn配置server_name,ip为无网的服务器的ip
#这里的git请求由192.168.50.80服务器代理转发到gitee
检查设置是否成功
git remote -v 输出为++++http://192.168.50.80/用户名/仓库.git 则无问题++++
++++此时直接拉代码 就会提示输入用户名与密码 完成代码拉取++++
增加代理
拉取代码发现速度比较慢,网上查找后说要给gitee增加代理
git config --global https.proxy http://192.168.50.80:80
git config --global https.proxy https://192.168.50.80:80
克隆代码
git init
git clone http://192.168.50.80/repository.git