场景:
假设我们有ABC三台服务器,三台服务器都在一个子网内,且只有服务器A可以访问外网。而服务器BC无法访问外网。
现在我们需要在服务器上安装Nginx服务,并进行配置,以使BC服务器可以以A服务为代理访问外网。
1、nginx的安装
nginx下载地址
https://nginx.org/en/download.html
https所需模块
https://gitcode.com/chobits/ngx_http_proxy_connect_module/overview?utm_source=csdn_github_accelerator&isLogin=1
2、修改配置文件
修改nginx配置conf文件,把下面的代码加入http配置模块中
server
{
listen 8000; # 实际地址的端口号
resolver 8.8.8.8; # 几乎没啥用
proxy_connect;
proxy_connect_allow 8000 8500; # 指定端口映射范围
proxy_connect_connect_timeout 10s;
proxy_connect_read_timeout 10s;
proxy_connect_send_timeout 10s;
location / {
proxy_pass https://huaxinzhanfang.com:8000; # 实际的地址域名:端口号
proxy_set_header Host $host;
}
}
重启nginx服务,如果没有报错,说明配置生效。
在BC服务器(每个都要设置)上做配置,
vim /etc/profile
export http_proxy=服务器A内网地址:8000
export https_proxy=服务器A内网地址:8000
export no_proxy=10.26.2.36,域名
3、验证
进B或C服务器,测试,测试命令及测试结果如下
通过代理访问*局端
curl -vkx 代理IP:代理端口 需要访问的地址或者域名
curl -vkx 192.168.131.130:63128 https://61.178.20.147:443
参考:
https://mp.weixin.qq.com/s/K6sHi5zQMNn2ayu8p_m9ug
https://baijiahao.baidu.com/s?id=1695463575498532241
https://blog.csdn.net/luChenH/article/details/107553493
https://blog.51cto.com/liqingbiao/2069726
http://www.178linux.com/78711