文章目录
概要流程
概要
重要前提:本地电脑可以访问外网(请自备梯子)
在使用linux服务器开发程序时,经常需要访问外网下载数据等。国内的服务器一般都不能访问,而一些基于linux的vpn配置起来比较繁琐,对新手不友好。
这里提供了使用ssh,实现:linux服务器–>本地笔记本电脑–>外部资源,前提是本地电脑可以访问外部资源(这里不提供梯子)
流程
1 在本地笔记本执行:
ssh -f -N -R 11080:127.0.0.1:7890 user_name@10.XX.XX.X
其中11080是linux服务器的端口,7890是本地vpn的端口,后面的user_name@10.XX.XX.X是linux服务器的用户名和ip地址;
2 在linux服务器执行:
export http_proxy=http://127.0.0.1:11080
和
export https_proxy=http://127.0.0.1:11080`
将所有https和http的请求发送到11080端口,再转到本地笔记本;
3 此时,linux服务器已经可以访问外网,可以通过访问谷歌验证:
curl www.google.com
4 对于docker容器,在启动时使用宿主机的网络,即添加参数--network host。 并在容器内部同样执行:
export http_proxy=http://127.0.0.1:11080
和
export https_proxy=http://127.0.0.1:11080`
此时容器可以访问外网;
5 也可以将 export http_proxy=http://127.0.0.1:11080 export https_proxy=http://127.0.0.1:11080 添加到~/.bashrc文件的最后。这样,每次启动容器时会自动执行。
注意: 实测可行,实际效果因人而异。新手一只,欢迎指正!