使用Nginx正向代理让内网机器上外网

「这是我参与11月更文挑战的第26天,活动详情查看:2021最后一次更文挑战」。

背景

相信很多同学在日常工作中都会遇到这样问题,开发虚拟机只能通公司内网,而无法访问英特网,这样就会造成在开发虚拟机上安装软件很困难,解决离线安装的依赖是一个大问题,如果你曾经这样做过,你会发现依赖的依赖还有依赖,就跟套娃一样。

怎么解决?

可以通过私有源等方式解决,但是都不如直接在线安装方便直接。

或许你也在思考,我的 PC 可以访问英特网,我的 PC 也能访问开发虚拟机,那能否让我的开发虚拟机通过办公 PC 作为代理直接访问英特网呢?答案是:能!

怎么做?

免安装 Nginx

下载地址:nginx.org/en/download.html

下载绿色版下载解压即可。

修改 nginx.conf

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
server {
    resolver 114.114.114.114;       #指定DNS服务器IP地址
    listen       880 default_server;
    location / {
        proxy_pass http://$host$request_uri;     #设定代理服务器的协议和地址
                proxy_set_header HOST $host;
                proxy_buffers 256 4k;
                proxy_max_temp_file_size 0k;
                proxy_connect_timeout 30;
                proxy_send_timeout 60;
                proxy_read_timeout 60;
                proxy_next_upstream error timeout invalid_header http_502;
    }
}
server {
    resolver 114.114.114.114;       #指定DNS服务器IP地址
    listen       443 default_server;
    location / {
        proxy_pass https://$host$request_uri;     #设定代理服务器的协议和地址
                proxy_set_header HOST $host;
                proxy_buffers 256 4k;
                proxy_max_temp_file_size 0k;
                proxy_connect_timeout 30;
                proxy_send_timeout 60;
                proxy_read_timeout 60;
                proxy_next_upstream error timeout invalid_header http_502;
    }
}
    server {
        listen       80;
        server_name  localhost;
        location / {
            root   html;
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
复制代码

启动 nginx

进入到 nginx 目录,执行如下命令: start .\nginx.exe

查看 nginx 服务:

在开发机中配置代理

马赛克地方的是 PCIP

此时,我们的开发机已经可以通过 PC 作为代理访问英特网了。

Guess you like

Origin juejin.im/post/7035093254785892365